bcache: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper
authorGustavo A. R. Silva <gustavoars@kernel.org>
Mon, 26 Sep 2022 21:43:15 +0000 (16:43 -0500)
committerGustavo A. R. Silva <gustavoars@kernel.org>
Thu, 5 Jan 2023 23:48:45 +0000 (17:48 -0600)
Zero-length arrays are deprecated and we are moving towards adopting
C99 flexible-array members, instead. So, replace zero-length arrays
declarations in anonymous union with the new DECLARE_FLEX_ARRAY()
helper macro.

This helper allows for flexible-array members in unions.

Link: https://github.com/KSPP/linux/issues/193
Link: https://github.com/KSPP/linux/issues/213
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>
drivers/md/bcache/bcache_ondisk.h

index 9741358..d086a0c 100644 (file)
@@ -359,8 +359,8 @@ struct jset {
        __u64                   prio_bucket[MAX_CACHES_PER_SET];
 
        union {
-               struct bkey     start[0];
-               __u64           d[0];
+               DECLARE_FLEX_ARRAY(struct bkey, start);
+               DECLARE_FLEX_ARRAY(__u64, d);
        };
 };
 
@@ -424,8 +424,8 @@ struct bset {
        __u32                   keys;
 
        union {
-               struct bkey     start[0];
-               __u64           d[0];
+               DECLARE_FLEX_ARRAY(struct bkey, start);
+               DECLARE_FLEX_ARRAY(__u64, d);
        };
 };