crypto: ecc - Actually remove stack VLA usage
authorKees Cook <keescook@chromium.org>
Fri, 30 Mar 2018 16:55:44 +0000 (09:55 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 20 Apr 2018 16:58:29 +0000 (00:58 +0800)
commitd5c3b17898993c3461fb3f0497f45098ffd72ac6
tree8918812280a8d42919dd3cef54dc22aa80cc4bc1
parent3a488aaec6f343b5dc6d94529847a840bbeaf009
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 <keescook@chromium.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/ecc.c
crypto/ecc.h
crypto/ecdh.c