lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 19 Mar 2024 18:42:12 -0600
From: "Gustavo A. R. Silva" <gustavo@...eddedor.com>
To: Jeff Johnson <quic_jjohnson@...cinc.com>, Kalle Valo <kvalo@...nel.org>
Cc: linux-wireless@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
 linux-hardening@...r.kernel.org
Subject: Re: [RFC] wireless: ti: Can we just remove this flexible array?



On 3/19/24 16:54, Jeff Johnson wrote:
> On 3/19/2024 2:59 PM, Gustavo A. R. Silva wrote:
>> Hi!
>>
>> `struct wl1271_cmd_header` is currently embedded in multiple other
>> structs, and it's causing many `-Wflex-array-member-not-at-end` warnings.
>>
>> Has this flexible-array member been used in the past or is it intended
>> for future use?
>>
>> Otherwise, I think we could just remove it.
>>
>> diff --git a/drivers/net/wireless/ti/wlcore/cmd.h b/drivers/net/wireless/ti/wlcore/cmd.h
>> index f2609d5b6bf7..4c2f2608ef3b 100644
>> --- a/drivers/net/wireless/ti/wlcore/cmd.h
>> +++ b/drivers/net/wireless/ti/wlcore/cmd.h
>> @@ -208,8 +208,6 @@ enum cmd_templ {
>>    struct wl1271_cmd_header {
>>           __le16 id;
>>           __le16 status;
>> -       /* payload */
>> -       u8 data[];
>>    } __packed;
> 
> I'd think you should just remove it
> 

Yep, I think I'm actually going to remove a few more:

diff --git a/drivers/net/wireless/ti/wl1251/cmd.h b/drivers/net/wireless/ti/wl1251/cmd.h
index e5874186f9d7..39159201b97e 100644
--- a/drivers/net/wireless/ti/wl1251/cmd.h
+++ b/drivers/net/wireless/ti/wl1251/cmd.h
@@ -89,8 +89,6 @@ enum wl1251_commands {
  struct wl1251_cmd_header {
         u16 id;
         u16 status;
-       /* payload */
-       u8 data[];
  } __packed;

  struct  wl1251_command {
diff --git a/drivers/net/wireless/ti/wl1251/wl12xx_80211.h b/drivers/net/wireless/ti/wl1251/wl12xx_80211.h
index 7e28fe435b43..3d5b0df5b231 100644
--- a/drivers/net/wireless/ti/wl1251/wl12xx_80211.h
+++ b/drivers/net/wireless/ti/wl1251/wl12xx_80211.h
@@ -65,7 +65,6 @@ struct ieee80211_header {
         u8 sa[ETH_ALEN];
         u8 bssid[ETH_ALEN];
         __le16 seq_ctl;
-       u8 payload[];
  } __packed;

  struct wl12xx_ie_header {
diff --git a/drivers/net/wireless/ti/wlcore/cmd.h b/drivers/net/wireless/ti/wlcore/cmd.h
index f2609d5b6bf7..4c2f2608ef3b 100644
--- a/drivers/net/wireless/ti/wlcore/cmd.h
+++ b/drivers/net/wireless/ti/wlcore/cmd.h
@@ -208,8 +208,6 @@ enum cmd_templ {
  struct wl1271_cmd_header {
         __le16 id;
         __le16 status;
-       /* payload */
-       u8 data[];
  } __packed;

  #define WL1271_CMD_MAX_PARAMS 572
diff --git a/drivers/net/wireless/ti/wlcore/wl12xx_80211.h b/drivers/net/wireless/ti/wlcore/wl12xx_80211.h
index 1dd7ecc11f86..602915c4da26 100644
--- a/drivers/net/wireless/ti/wlcore/wl12xx_80211.h
+++ b/drivers/net/wireless/ti/wlcore/wl12xx_80211.h
@@ -66,7 +66,6 @@ struct ieee80211_header {
         u8 sa[ETH_ALEN];
         u8 bssid[ETH_ALEN];
         __le16 seq_ctl;
-       u8 payload[];
  } __packed;

  struct wl12xx_ie_header {

--
Gustavo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ