Message ID | 20180724164936.37477-19-keescook@chromium.org (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | crypto: Remove VLA usage | expand |
On Tue, 2018-07-24 at 09:49 -0700, Kees Cook wrote: > All users of AHASH_REQUEST_ON_STACK have been removed from the kernel, so > drop it entirely so no VLAs get reintroduced by future users. checkpatch has a test for that. It could now be removed as well. --- diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 34e4683de7a3..a3517334d661 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -796,7 +796,7 @@ our $declaration_macros = qr{(?x: (?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,6}\s*\(| (?:$Storage\s+)?[HLP]?LIST_HEAD\s*\(| (?:$Storage\s+)?${Type}\s+uninitialized_var\s*\(| - (?:SKCIPHER_REQUEST|SHASH_DESC|AHASH_REQUEST)_ON_STACK\s*\( + (?:SKCIPHER_REQUEST|SHASH_DESC)_ON_STACK\s*\( )};
On Tue, Jul 24, 2018 at 10:31 AM, Joe Perches <joe@perches.com> wrote: > On Tue, 2018-07-24 at 09:49 -0700, Kees Cook wrote: >> All users of AHASH_REQUEST_ON_STACK have been removed from the kernel, so >> drop it entirely so no VLAs get reintroduced by future users. > > checkpatch has a test for that. > It could now be removed as well. > --- > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index 34e4683de7a3..a3517334d661 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -796,7 +796,7 @@ our $declaration_macros = qr{(?x: > (?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,6}\s*\(| > (?:$Storage\s+)?[HLP]?LIST_HEAD\s*\(| > (?:$Storage\s+)?${Type}\s+uninitialized_var\s*\(| > - (?:SKCIPHER_REQUEST|SHASH_DESC|AHASH_REQUEST)_ON_STACK\s*\( > + (?:SKCIPHER_REQUEST|SHASH_DESC)_ON_STACK\s*\( > )}; Ah! Cool. I've added this now. -Kees
diff --git a/include/crypto/hash.h b/include/crypto/hash.h index 21587011ab0f..fca3e28c77a4 100644 --- a/include/crypto/hash.h +++ b/include/crypto/hash.h @@ -64,11 +64,6 @@ struct ahash_request { void *__ctx[] CRYPTO_MINALIGN_ATTR; }; -#define AHASH_REQUEST_ON_STACK(name, ahash) \ - char __##name##_desc[sizeof(struct ahash_request) + \ - crypto_ahash_reqsize(ahash)] CRYPTO_MINALIGN_ATTR; \ - struct ahash_request *name = (void *)__##name##_desc - /** * struct ahash_alg - asynchronous message digest definition * @init: **[mandatory]** Initialize the transformation context. Intended only to initialize the
All users of AHASH_REQUEST_ON_STACK have been removed from the kernel, so drop it entirely so no VLAs get reintroduced by future users. Signed-off-by: Kees Cook <keescook@chromium.org> --- include/crypto/hash.h | 5 ----- 1 file changed, 5 deletions(-)