lkml.org 
[lkml]   [2009]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[105/119] crypto: padlock-aes - Use the correct mask when checking whether copying is required
    2.6.31-stable review patch.  If anyone has any objections, please let us know.

    ------------------
    From: Chuck Ebbert <cebbert@redhat.com>

    commit e8edb3cbd7dd8acf6c748a02d06ec1d82c4124ea upstream.

    Masking with PAGE_SIZE is just wrong...

    Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/crypto/padlock-aes.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/drivers/crypto/padlock-aes.c
    +++ b/drivers/crypto/padlock-aes.c
    @@ -236,7 +236,7 @@ static inline void ecb_crypt(const u8 *i
    /* Padlock in ECB mode fetches at least ecb_fetch_bytes of data.
    * We could avoid some copying here but it's probably not worth it.
    */
    - if (unlikely(((unsigned long)in & PAGE_SIZE) + ecb_fetch_bytes > PAGE_SIZE)) {
    + if (unlikely(((unsigned long)in & ~PAGE_MASK) + ecb_fetch_bytes > PAGE_SIZE)) {
    ecb_crypt_copy(in, out, key, cword, count);
    return;
    }
    @@ -248,7 +248,7 @@ static inline u8 *cbc_crypt(const u8 *in
    u8 *iv, struct cword *cword, int count)
    {
    /* Padlock in CBC mode fetches at least cbc_fetch_bytes of data. */
    - if (unlikely(((unsigned long)in & PAGE_SIZE) + cbc_fetch_bytes > PAGE_SIZE))
    + if (unlikely(((unsigned long)in & ~PAGE_MASK) + cbc_fetch_bytes > PAGE_SIZE))
    return cbc_crypt_copy(in, out, key, iv, cword, count);

    return rep_xcrypt_cbc(in, out, key, iv, cword, count);



    \
     
     \ /
      Last update: 2009-12-07 01:25    [W:0.020 / U:1.424 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site