aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
authorEric Biggers <ebiggers@kernel.org>2026-04-19 23:33:48 -0700
committerHerbert Xu <herbert@gondor.apana.org.au>2026-05-07 16:09:59 +0800
commit6f49f00c981bbb9ef602966f19bfdbef46b681d2 (patch)
tree7c832fe2a5001860f5ab64b8b507447c4e38aa38 /crypto
parent040ad83b0e8aa065fd2fc641cacba8491a8b186d (diff)
downloadlinux-next-history-6f49f00c981bbb9ef602966f19bfdbef46b681d2.tar.gz
crypto: drbg - Fix drbg_max_addtl() on 64-bit kernels
On 64-bit kernels, drbg_max_addtl() returns 2**35 bytes. That's too large, for two reasons: 1. SP800-90A says the maximum limit is 2**35 *bits*, not 2**35 bytes. So the implemented limit has confused bits and bytes. 2. When drbg_kcapi_hash() calls crypto_shash_update() on the additional information string, the length is implicitly cast to 'unsigned int'. That truncates the additional information string to U32_MAX bytes. Fix the maximum additional information string length to always be U32_MAX - 1, causing an error to be returned for any longer lengths. Fixes: 541af946fe13 ("crypto: drbg - SP800-90A Deterministic Random Bit Generator") Cc: stable@vger.kernel.org Signed-off-by: Eric Biggers <ebiggers@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
0 files changed, 0 insertions, 0 deletions