]> www.infradead.org Git - users/dwmw2/linux.git/commit
crypto: keembay - use 64-bit arithmetic for computing bit_len
authorOvidiu Panait <ovidiu.panait@windriver.com>
Fri, 15 Jan 2021 20:46:05 +0000 (22:46 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 22 Jan 2021 03:58:04 +0000 (14:58 +1100)
commit29dfe4d94f5c99d164c307b8320e45cb85fb4b21
tree06b0b0b7ac233c4ce04d5648aba6b458a220e5b5
parentac88c322d0f2917d41d13553c69e9d7f043c8b6f
crypto: keembay - use 64-bit arithmetic for computing bit_len

src_size and aad_size are defined as u32, so the following expressions are
currently being evaluated using 32-bit arithmetic:

bit_len = src_size * 8;
...
bit_len = aad_size * 8;

However, bit_len is used afterwards in a context that expects a valid
64-bit value (the lower and upper 32-bit words of bit_len are extracted
and written to hw).

In order to make sure the correct bit length is generated and the 32-bit
multiplication does not wrap around, cast src_size and aad_size to u64.

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Acked-by: Daniele Alessandrelli <daniele.alessandrelli@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/keembay/ocs-aes.c