wifi: mwifiex: Replace one-element arrays with flexible-array members
authorGustavo A. R. Silva <gustavoars@kernel.org>
Fri, 3 Feb 2023 01:32:00 +0000 (19:32 -0600)
committerKalle Valo <kvalo@kernel.org>
Mon, 13 Feb 2023 16:52:56 +0000 (18:52 +0200)
One-element arrays are deprecated, and we are replacing them with flexible
array members instead. So, replace one-element arrays with flexible-array
members in multiple structures.

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 [1].

This results in no differences in binary output.

Link: https://github.com/KSPP/linux/issues/79
Link: https://github.com/KSPP/linux/issues/256
Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/Y9xkECG3uTZ6T1dN@work
drivers/net/wireless/marvell/mwifiex/fw.h

index c32478d..0c167a1 100644 (file)
@@ -41,7 +41,7 @@ struct mwifiex_fw_header {
 struct mwifiex_fw_data {
        struct mwifiex_fw_header header;
        __le32 seq_num;
-       u8 data[1];
+       u8 data[];
 } __packed;
 
 struct mwifiex_fw_dump_header {
@@ -641,7 +641,7 @@ struct mwifiex_ie_types_header {
 
 struct mwifiex_ie_types_data {
        struct mwifiex_ie_types_header header;
-       u8 data[1];
+       u8 data[];
 } __packed;
 
 #define MWIFIEX_TxPD_POWER_MGMT_NULL_PACKET 0x01
@@ -799,7 +799,7 @@ struct mwifiex_ie_types_rates_param_set {
 
 struct mwifiex_ie_types_ssid_param_set {
        struct mwifiex_ie_types_header header;
-       u8 ssid[1];
+       u8 ssid[];
 } __packed;
 
 struct mwifiex_ie_types_num_probes {
@@ -907,7 +907,7 @@ struct mwifiex_ie_types_tdls_idle_timeout {
 
 struct mwifiex_ie_types_rsn_param_set {
        struct mwifiex_ie_types_header header;
-       u8 rsn_ie[1];
+       u8 rsn_ie[];
 } __packed;
 
 #define KEYPARAMSET_FIXED_LEN 6
@@ -1434,7 +1434,7 @@ struct mwifiex_tdls_stop_cs_params {
 
 struct host_cmd_ds_tdls_config {
        __le16 tdls_action;
-       u8 tdls_data[1];
+       u8 tdls_data[];
 } __packed;
 
 struct mwifiex_chan_desc {
@@ -1575,13 +1575,13 @@ struct ie_body {
 struct host_cmd_ds_802_11_scan {
        u8 bss_mode;
        u8 bssid[ETH_ALEN];
-       u8 tlv_buffer[1];
+       u8 tlv_buffer[];
 } __packed;
 
 struct host_cmd_ds_802_11_scan_rsp {
        __le16 bss_descript_size;
        u8 number_of_sets;
-       u8 bss_desc_and_tlv_buffer[1];
+       u8 bss_desc_and_tlv_buffer[];
 } __packed;
 
 struct host_cmd_ds_802_11_scan_ext {
@@ -1597,7 +1597,7 @@ struct mwifiex_ie_types_bss_mode {
 struct mwifiex_ie_types_bss_scan_rsp {
        struct mwifiex_ie_types_header header;
        u8 bssid[ETH_ALEN];
-       u8 frame_body[1];
+       u8 frame_body[];
 } __packed;
 
 struct mwifiex_ie_types_bss_scan_info {
@@ -1734,7 +1734,7 @@ struct mwifiex_ie_types_local_pwr_constraint {
 
 struct mwifiex_ie_types_wmm_param_set {
        struct mwifiex_ie_types_header header;
-       u8 wmm_ie[1];
+       u8 wmm_ie[];
 } __packed;
 
 struct mwifiex_ie_types_mgmt_frame {
@@ -1960,7 +1960,7 @@ struct host_cmd_tlv_wep_key {
        struct mwifiex_ie_types_header header;
        u8 key_index;
        u8 is_default;
-       u8 key[1];
+       u8 key[];
 };
 
 struct host_cmd_tlv_auth_type {