From 96ea4f4f1987807e2705f67ac2b47812b52015de Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Fri, 30 Mar 2018 09:55:44 -0700 Subject: crypto: ecc - Actually remove stack VLA usage On the quest to remove all VLAs from the kernel[1], this avoids VLAs by just using the maximum allocation size (4 bytes) for stack arrays. All the VLAs in ecc were either 3 or 4 bytes (or a multiple), so just make it 4 bytes all the time. Initialization routines are adjusted to check that ndigits does not end up larger than the arrays. This includes a removal of the earlier attempt at this fix from commit a963834b4742 ("crypto/ecc: Remove stack VLA usage") [1] https://lkml.org/lkml/2018/3/7/621 Signed-off-by: Kees Cook Signed-off-by: Herbert Xu --- crypto/ecc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'crypto/ecc.h') diff --git a/crypto/ecc.h b/crypto/ecc.h index e4fd4492..f75a86ba 100644 --- a/crypto/ecc.h +++ b/crypto/ecc.h @@ -26,7 +26,9 @@ #ifndef _CRYPTO_ECC_H #define _CRYPTO_ECC_H -#define ECC_MAX_DIGITS 4 /* 256 */ +#define ECC_CURVE_NIST_P192_DIGITS 3 +#define ECC_CURVE_NIST_P256_DIGITS 4 +#define ECC_MAX_DIGITS ECC_CURVE_NIST_P256_DIGITS #define ECC_DIGITS_TO_BYTES_SHIFT 3 -- cgit v1.2.3