OSDN Git Service

iwlwifi: fw api: make hdr a zero-size array again
authorJohannes Berg <johannes.berg@intel.com>
Fri, 5 Feb 2021 09:06:33 +0000 (11:06 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 5 Feb 2021 09:56:41 +0000 (11:56 +0200)
In struct iwl_tx_cmd, there's no risk (as Arnd implied) that we
might access this as an array, as it's really not an array and
cannot be - there's only a single 802.11 header per frame. The
only reason for this member is for being able to access it a
bit more nicely.

On the other hand, this structure is used as a sub-struct in a
few places, and then some compilers (e.g. clang with certain
options) complain as you shouldn't have structs with variable-
length fields embedded in other structs.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210205110447.46cd538c90bf.I92179567d96938598806b560be59d787c2a8cc16@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/api/tx.h

index 644ced5..95038b1 100644 (file)
@@ -238,7 +238,7 @@ struct iwl_tx_cmd {
        __le16 pm_frame_timeout;
        __le16 reserved4;
        u8 payload[0];
-       struct ieee80211_hdr hdr[];
+       struct ieee80211_hdr hdr[0];
 } __packed; /* TX_CMD_API_S_VER_6 */
 
 struct iwl_dram_sec_info {