twx-linux/include/crypto/internal
Stefan Berger 55779f26ea crypto: ecc - Prevent ecc_digits_from_bytes from reading too many bytes
[ Upstream commit c6ab5c915da460c0397960af3c308386c3f3247b ]

Prevent ecc_digits_from_bytes from reading too many bytes from the input
byte array in case an insufficient number of bytes is provided to fill the
output digit array of ndigits. Therefore, initialize the most significant
digits with 0 to avoid trying to read too many bytes later on. Convert the
function into a regular function since it is getting too big for an inline
function.

If too many bytes are provided on the input byte array the extra bytes
are ignored since the input variable 'ndigits' limits the number of digits
that will be filled.

Fixes: d67c96fb97b5 ("crypto: ecdsa - Convert byte arrays with key coordinates to digits")
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-09 13:31:52 +01:00
..
acompress.h crypto: acomp - Count error stats differently 2023-03-14 17:06:42 +08:00
aead.h crypto: aead - Use crypto_request_complete 2023-02-13 18:34:48 +08:00
akcipher.h crypto: akcipher - Use crypto_request_complete 2023-02-13 18:34:48 +08:00
blake2b.h crypto: blake2b - sync with blake2s implementation 2021-01-03 08:41:39 +11:00
blake2s.h crypto: blake2s - remove shash module 2022-06-10 16:43:49 +08:00
chacha.h crypto: chacha - fix warning message in header file 2019-12-11 16:48:38 +08:00
cipher.h crypto: cipher - Add crypto_clone_cipher 2023-05-24 18:12:33 +08:00
cryptouser.h crypto: user - fix potential warnings in cryptouser.h 2019-08-02 14:44:31 +10:00
des.h crypto: remove CRYPTO_TFM_RES_WEAK_KEY 2020-01-09 11:30:53 +08:00
ecc.h crypto: ecc - Prevent ecc_digits_from_bytes from reading too many bytes 2025-01-09 13:31:52 +01:00
engine.h crypto: engine - Move struct crypto_engine into internal/engine.h 2023-08-18 17:01:10 +08:00
geniv.h crypto: geniv - remove unneeded arguments from aead_geniv_alloc() 2020-07-16 21:49:07 +10:00
hash.h crypto: hash - Make crypto_ahash_alg helper available 2023-05-12 18:48:01 +08:00
kdf_selftest.h crypto: kdf - Add key derivation self-test support code 2021-11-26 16:25:17 +11:00
kpp.h crypto: kpp - Use crypto_request_complete 2023-02-13 18:34:48 +08:00
poly1305.h crypto: poly1305 - fix poly1305_core_setkey() declaration 2021-04-02 18:28:12 +11:00
rng.h
rsa.h
scompress.h crypto: acomp - Count error stats differently 2023-03-14 17:06:42 +08:00
sig.h crypto: sig - Add interface for sign/verify 2023-06-23 16:15:36 +08:00
simd.h crypto: simd - Do not call crypto_alloc_tfm during registration 2024-10-10 11:57:26 +02:00
skcipher.h crypto: skcipher - Use crypto_request_complete 2023-02-13 18:34:49 +08:00