crypto: aspeed - Replace zero-length array with flexible-array member
authorGustavo A. R. Silva <gustavoars@kernel.org>
Tue, 10 Jan 2023 01:39:17 +0000 (19:39 -0600)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 20 Jan 2023 10:29:31 +0000 (18:29 +0800)
Zero-length arrays are deprecated[1] and we are moving towards
adopting C99 flexible-array members instead. So, replace zero-length
array declaration in struct aspeed_sham_ctx with flex-array
member.

This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
routines on memcpy() and help us make progress towards globally
enabling -fstrict-flex-arrays=3 [2].

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays
Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html
Link: https://github.com/KSPP/linux/issues/78
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Neal Liu <neal_liu@aspeedtech.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/aspeed/aspeed-hace.h

index f2cde23..05d0a15 100644 (file)
@@ -183,7 +183,7 @@ struct aspeed_sham_ctx {
        struct aspeed_hace_dev          *hace_dev;
        unsigned long                   flags;  /* hmac flag */
 
-       struct aspeed_sha_hmac_ctx      base[0];
+       struct aspeed_sha_hmac_ctx      base[];
 };
 
 struct aspeed_sham_reqctx {