carl9170: Replace zero-length arrays with flexible-array members
authorGustavo A. R. Silva <gustavoars@kernel.org>
Wed, 16 Feb 2022 19:49:55 +0000 (13:49 -0600)
committerKalle Valo <quic_kvalo@quicinc.com>
Thu, 24 Feb 2022 09:03:42 +0000 (11:03 +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>
Acked-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220216194955.GA904126@embeddedor
drivers/net/wireless/ath/carl9170/fwdesc.h
drivers/net/wireless/ath/carl9170/wlan.h

index 503b21abbba52ef48870e60a4059ae38963b9ca4..10acb6ad30d0ae48c761237f7d9c235842e906f5 100644 (file)
@@ -149,7 +149,7 @@ struct carl9170fw_fix_entry {
 
 struct carl9170fw_fix_desc {
        struct carl9170fw_desc_head head;
-       struct carl9170fw_fix_entry data[0];
+       struct carl9170fw_fix_entry data[];
 } __packed;
 #define CARL9170FW_FIX_DESC_SIZE                       \
        (sizeof(struct carl9170fw_fix_desc))
index bb73553fd7c27f88451ffe3667338601106db695..0a4e42e806b9608544e4819df0753e9ed4bedf6e 100644 (file)
@@ -327,7 +327,7 @@ struct _carl9170_tx_superdesc {
 struct _carl9170_tx_superframe {
        struct _carl9170_tx_superdesc s;
        struct _ar9170_tx_hwdesc f;
-       u8 frame_data[0];
+       u8 frame_data[];
 } __packed __aligned(4);
 
 #define        CARL9170_TX_SUPERDESC_LEN               24