• Eric Biggers's avatar
    crypto: x86/crct10dif-pcl - fix use via crypto_shash_digest() · dec3d0b1
    Eric Biggers authored
    The ->digest() method of crct10dif-pclmul reads the current CRC value
    from the shash_desc context.  But this value is uninitialized, causing
    crypto_shash_digest() to compute the wrong result.  Fix it.
    
    Probably this wasn't noticed before because lib/crc-t10dif.c only uses
    crypto_shash_update(), not crypto_shash_digest().  Likewise,
    crypto_shash_digest() is not yet tested by the crypto self-tests because
    those only test the ahash API which only uses shash init/update/final.
    
    Fixes: 0b95a7f8 ("crypto: crct10dif - Glue code to cast accelerated CRCT10DIF assembly as a crypto transform")
    Cc: <stable@vger.kernel.org> # v3.11+
    Cc: Tim Chen <tim.c.chen@linux.intel.com>
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    dec3d0b1
crct10dif-pclmul_glue.c 3.71 KB