ath10k: Replace zero-length array with flexible-array member
authorGustavo A. R. Silva <gustavoars@kernel.org>
Wed, 16 Feb 2022 19:48:07 +0000 (13:48 -0600)
committerKalle Valo <quic_kvalo@quicinc.com>
Mon, 21 Feb 2022 10:23:28 +0000 (12:23 +0200)
There is a regular need in the kernel to provide a way to declare
having a dynamically sized set of trailing elements in a structure.
Kernel code should always use “flexible array members”[1] for these
cases. The older style of one-element or zero-length arrays should
no longer be used[2].

[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] https://www.kernel.org/doc/html/v5.16/process/deprecated.html#zero-length-and-one-element-arrays

Link: https://github.com/KSPP/linux/issues/78
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220216194807.GA904008@embeddedor
drivers/net/wireless/ath/ath10k/swap.h

index 25e0ad36ddb1a6d76faa874b2b564597c41d2205..b4733b5ded34fa780361b1223da2c353a9e1432e 100644 (file)
@@ -17,7 +17,7 @@ struct ath10k_fw_file;
 struct ath10k_swap_code_seg_tlv {
        __le32 address;
        __le32 length;
-       u8 data[0];
+       u8 data[];
 } __packed;
 
 struct ath10k_swap_code_seg_tail {