exportfs: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
authorGustavo A. R. Silva <gustavoars@kernel.org>
Fri, 2 Sep 2022 23:08:51 +0000 (00:08 +0100)
committerGustavo A. R. Silva <gustavoars@kernel.org>
Thu, 5 Jan 2023 22:15:18 +0000 (16:15 -0600)
Zero-length arrays are deprecated and we are moving towards adopting
C99 flexible-array members instead. So, replace zero-length array
declaration in struct fid with the new DECLARE_FLEX_ARRAY()
helper macro.

This helper allows for a flexible-array member in a union.

Link: https://github.com/KSPP/linux/issues/21
Link: https://github.com/KSPP/linux/issues/193
Link: https://github.com/KSPP/linux/issues/197
Link: https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
include/linux/exportfs.h

index fe84890..1640d97 100644 (file)
@@ -131,7 +131,7 @@ struct fid {
                        u32 parent_block;
                        u32 parent_generation;
                } udf;
-               __u32 raw[0];
+               DECLARE_FLEX_ARRAY(__u32, raw);
        };
 };