• E
    crypto: x86/crct10dif-pcl - fix use via crypto_shash_digest() · e7fd8a28
    Eric Biggers 提交于
    commit dec3d0b1071a0f3194e66a83d26ecf4aa8c5910e upstream.
    
    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: NEric Biggers <ebiggers@google.com>
    Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    e7fd8a28
crct10dif-pclmul_glue.c 3.8 KB