iwlwifi: mvm: fix gcc-10 zero-length-bounds warning
gcc-10 complains when a zero-length array is accessed: drivers/net/wireless/intel/iwlwifi/mvm/tx.c: In function 'iwl_mvm_rx_ba_notif': drivers/net/wireless/intel/iwlwifi/mvm/tx.c:1929:17: warning: array subscript 9 is outside the bounds of an interior zero-length array 'struct iwl_mvm_compressed_ba_tfd[0]' [-Wzero-length-bounds] 1929 | &ba_res->tfd[i]; | ~~~~~~~~~~~^~~ In file included from drivers/net/wireless/intel/iwlwifi/mvm/../fw/api/tdls.h:68, from drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h:68, from drivers/net/wireless/intel/iwlwifi/mvm/sta.h:73, from drivers/net/wireless/intel/iwlwifi/mvm/mvm.h:83, from drivers/net/wireless/intel/iwlwifi/mvm/tx.c:72: drivers/net/wireless/intel/iwlwifi/mvm/../fw/api/tx.h:769:35: note: while referencing 'tfd' 769 | struct iwl_mvm_compressed_ba_tfd tfd[0]; | ^~~ Change this structure to use a flexible-array member for 'tfd' instead, along with the various structures using an zero-length ieee80211_hdr array that do not show warnings today but might be affected by similar issues in the future. Fixes:6f68cc367a
("iwlwifi: api: annotate compressed BA notif array sizes") Fixes:c46e7724bf
("iwlwifi: mvm: support new BA notification response") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200430213101.135134-3-arnd@arndb.de Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
ce475a8fb2
commit
9cec1d547c
@ -293,7 +293,7 @@ struct iwl_tx_cmd {
|
||||
__le16 pm_frame_timeout;
|
||||
__le16 reserved4;
|
||||
u8 payload[0];
|
||||
struct ieee80211_hdr hdr[0];
|
||||
struct ieee80211_hdr hdr[];
|
||||
} __packed; /* TX_CMD_API_S_VER_6 */
|
||||
|
||||
struct iwl_dram_sec_info {
|
||||
@ -319,7 +319,7 @@ struct iwl_tx_cmd_gen2 {
|
||||
__le32 flags;
|
||||
struct iwl_dram_sec_info dram_info;
|
||||
__le32 rate_n_flags;
|
||||
struct ieee80211_hdr hdr[0];
|
||||
struct ieee80211_hdr hdr[];
|
||||
} __packed; /* TX_CMD_API_S_VER_7 */
|
||||
|
||||
/**
|
||||
@ -342,7 +342,7 @@ struct iwl_tx_cmd_gen3 {
|
||||
struct iwl_dram_sec_info dram_info;
|
||||
__le32 rate_n_flags;
|
||||
__le64 ttl;
|
||||
struct ieee80211_hdr hdr[0];
|
||||
struct ieee80211_hdr hdr[];
|
||||
} __packed; /* TX_CMD_API_S_VER_8 */
|
||||
|
||||
/*
|
||||
@ -766,8 +766,8 @@ struct iwl_mvm_compressed_ba_notif {
|
||||
__le32 tx_rate;
|
||||
__le16 tfd_cnt;
|
||||
__le16 ra_tid_cnt;
|
||||
struct iwl_mvm_compressed_ba_tfd tfd[0];
|
||||
struct iwl_mvm_compressed_ba_ratid ra_tid[0];
|
||||
struct iwl_mvm_compressed_ba_tfd tfd[];
|
||||
} __packed; /* COMPRESSED_BA_RES_API_S_VER_4 */
|
||||
|
||||
/**
|
||||
@ -784,7 +784,7 @@ struct iwl_mac_beacon_cmd_v6 {
|
||||
__le32 template_id;
|
||||
__le32 tim_idx;
|
||||
__le32 tim_size;
|
||||
struct ieee80211_hdr frame[0];
|
||||
struct ieee80211_hdr frame[];
|
||||
} __packed; /* BEACON_TEMPLATE_CMD_API_S_VER_6 */
|
||||
|
||||
/**
|
||||
@ -805,7 +805,7 @@ struct iwl_mac_beacon_cmd_v7 {
|
||||
__le32 tim_size;
|
||||
__le32 ecsa_offset;
|
||||
__le32 csa_offset;
|
||||
struct ieee80211_hdr frame[0];
|
||||
struct ieee80211_hdr frame[];
|
||||
} __packed; /* BEACON_TEMPLATE_CMD_API_S_VER_7 */
|
||||
|
||||
enum iwl_mac_beacon_flags {
|
||||
@ -840,7 +840,7 @@ struct iwl_mac_beacon_cmd {
|
||||
__le32 tim_size;
|
||||
__le32 ecsa_offset;
|
||||
__le32 csa_offset;
|
||||
struct ieee80211_hdr frame[0];
|
||||
struct ieee80211_hdr frame[];
|
||||
} __packed; /* BEACON_TEMPLATE_CMD_API_S_VER_10 */
|
||||
|
||||
struct iwl_beacon_notif {
|
||||
|
Loading…
Reference in New Issue
Block a user