Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: img-hash - shift wrapping bug in img_hash_hw_init()

"hdev->req->nbytes" is an unsigned int so we so we lose the upper 3 bits
to the shift wrap bug.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Dan Carpenter and committed by
Herbert Xu
a83034f5 900831a4

+1 -1
+1 -1
drivers/crypto/img-hash.c
··· 464 464 img_hash_write(hdev, CR_RESET, CR_RESET_UNSET); 465 465 img_hash_write(hdev, CR_INTENAB, CR_INT_NEW_RESULTS_SET); 466 466 467 - nbits = (hdev->req->nbytes << 3); 467 + nbits = (u64)hdev->req->nbytes << 3; 468 468 u = nbits >> 32; 469 469 l = nbits; 470 470 img_hash_write(hdev, CR_MESSAGE_LENGTH_H, u);