* [PATCH][next] wifi: ath12k: core.h: Avoid -Wflex-array-member-not-at-end warnings
@ 2025-03-11 1:32 Gustavo A. R. Silva
2025-04-07 18:39 ` Kees Cook
0 siblings, 1 reply; 4+ messages in thread
From: Gustavo A. R. Silva @ 2025-03-11 1:32 UTC (permalink / raw)
To: Johannes Berg, Jeff Johnson
Cc: linux-wireless, ath12k, linux-kernel, Gustavo A. R. Silva,
linux-hardening
-Wflex-array-member-not-at-end was introduced in GCC-14, and we are
getting ready to enable it, globally.
Move the conflicting declaration to the end of the structure. Notice
that `struct ieee80211_chanctx_conf` is a flexible structure --a
structure that contains a flexible-array member.
Fix 30 of the following warnings:
drivers/net/wireless/ath/ath12k/core.h:298:39: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
drivers/net/wireless/ath/ath12k/core.h | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath12k/core.h b/drivers/net/wireless/ath/ath12k/core.h
index 3fac4f00d383..d6b4c4d2c400 100644
--- a/drivers/net/wireless/ath/ath12k/core.h
+++ b/drivers/net/wireless/ath/ath12k/core.h
@@ -295,7 +295,6 @@ struct ath12k_link_vif {
int txpower;
bool rsnie_present;
bool wpaie_present;
- struct ieee80211_chanctx_conf chanctx;
u8 vdev_stats_id;
u32 punct_bitmap;
u8 link_id;
@@ -303,6 +302,13 @@ struct ath12k_link_vif {
struct ath12k_rekey_data rekey_data;
u8 current_cntdown_counter;
+
+ /* Must be last - ends in a flexible-array member.
+ *
+ * FIXME: Driver should not copy struct ieee80211_chanctx_conf,
+ * especially because it has a flexible array. Find a better way.
+ */
+ struct ieee80211_chanctx_conf chanctx;
};
struct ath12k_vif {
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH][next] wifi: ath12k: core.h: Avoid -Wflex-array-member-not-at-end warnings
2025-03-11 1:32 [PATCH][next] wifi: ath12k: core.h: Avoid -Wflex-array-member-not-at-end warnings Gustavo A. R. Silva
@ 2025-04-07 18:39 ` Kees Cook
2025-04-07 18:45 ` Jeff Johnson
0 siblings, 1 reply; 4+ messages in thread
From: Kees Cook @ 2025-04-07 18:39 UTC (permalink / raw)
To: Gustavo A. R. Silva
Cc: Johannes Berg, Jeff Johnson, linux-wireless, ath12k, linux-kernel,
linux-hardening
On Tue, Mar 11, 2025 at 12:02:15PM +1030, Gustavo A. R. Silva wrote:
> -Wflex-array-member-not-at-end was introduced in GCC-14, and we are
> getting ready to enable it, globally.
>
> Move the conflicting declaration to the end of the structure. Notice
> that `struct ieee80211_chanctx_conf` is a flexible structure --a
> structure that contains a flexible-array member.
>
> Fix 30 of the following warnings:
>
> drivers/net/wireless/ath/ath12k/core.h:298:39: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
>
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Hi, just checking in on this patch. Is some adjustment needed for this
to land?
Thanks!
-Kees
> ---
> drivers/net/wireless/ath/ath12k/core.h | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath12k/core.h b/drivers/net/wireless/ath/ath12k/core.h
> index 3fac4f00d383..d6b4c4d2c400 100644
> --- a/drivers/net/wireless/ath/ath12k/core.h
> +++ b/drivers/net/wireless/ath/ath12k/core.h
> @@ -295,7 +295,6 @@ struct ath12k_link_vif {
> int txpower;
> bool rsnie_present;
> bool wpaie_present;
> - struct ieee80211_chanctx_conf chanctx;
> u8 vdev_stats_id;
> u32 punct_bitmap;
> u8 link_id;
> @@ -303,6 +302,13 @@ struct ath12k_link_vif {
> struct ath12k_rekey_data rekey_data;
>
> u8 current_cntdown_counter;
> +
> + /* Must be last - ends in a flexible-array member.
> + *
> + * FIXME: Driver should not copy struct ieee80211_chanctx_conf,
> + * especially because it has a flexible array. Find a better way.
> + */
> + struct ieee80211_chanctx_conf chanctx;
> };
>
> struct ath12k_vif {
> --
> 2.43.0
>
--
Kees Cook
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH][next] wifi: ath12k: core.h: Avoid -Wflex-array-member-not-at-end warnings
2025-04-07 18:39 ` Kees Cook
@ 2025-04-07 18:45 ` Jeff Johnson
2025-04-07 20:29 ` Kees Cook
0 siblings, 1 reply; 4+ messages in thread
From: Jeff Johnson @ 2025-04-07 18:45 UTC (permalink / raw)
To: Kees Cook, Gustavo A. R. Silva
Cc: Johannes Berg, Jeff Johnson, linux-wireless, ath12k, linux-kernel,
linux-hardening
On 4/7/2025 11:39 AM, Kees Cook wrote:
> On Tue, Mar 11, 2025 at 12:02:15PM +1030, Gustavo A. R. Silva wrote:
>> -Wflex-array-member-not-at-end was introduced in GCC-14, and we are
>> getting ready to enable it, globally.
>>
>> Move the conflicting declaration to the end of the structure. Notice
>> that `struct ieee80211_chanctx_conf` is a flexible structure --a
>> structure that contains a flexible-array member.
>>
>> Fix 30 of the following warnings:
>>
>> drivers/net/wireless/ath/ath12k/core.h:298:39: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
>>
>> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
>
> Hi, just checking in on this patch. Is some adjustment needed for this
> to land?
>
> Thanks!
There is an alternate solution which should land in the next iteration of
linux-next (I just enabled the post-merge-window flow from ath-next)
https://lore.kernel.org/all/20250321-ath12k-dont-put-chanctx-in-arvif-v1-1-c8e93061952b@quicinc.com/
/jeff
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH][next] wifi: ath12k: core.h: Avoid -Wflex-array-member-not-at-end warnings
2025-04-07 18:45 ` Jeff Johnson
@ 2025-04-07 20:29 ` Kees Cook
0 siblings, 0 replies; 4+ messages in thread
From: Kees Cook @ 2025-04-07 20:29 UTC (permalink / raw)
To: Jeff Johnson
Cc: Gustavo A. R. Silva, Johannes Berg, Jeff Johnson, linux-wireless,
ath12k, linux-kernel, linux-hardening
On Mon, Apr 07, 2025 at 11:45:15AM -0700, Jeff Johnson wrote:
> On 4/7/2025 11:39 AM, Kees Cook wrote:
> > On Tue, Mar 11, 2025 at 12:02:15PM +1030, Gustavo A. R. Silva wrote:
> >> -Wflex-array-member-not-at-end was introduced in GCC-14, and we are
> >> getting ready to enable it, globally.
> >>
> >> Move the conflicting declaration to the end of the structure. Notice
> >> that `struct ieee80211_chanctx_conf` is a flexible structure --a
> >> structure that contains a flexible-array member.
> >>
> >> Fix 30 of the following warnings:
> >>
> >> drivers/net/wireless/ath/ath12k/core.h:298:39: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
> >>
> >> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> >
> > Hi, just checking in on this patch. Is some adjustment needed for this
> > to land?
> >
> > Thanks!
>
> There is an alternate solution which should land in the next iteration of
> linux-next (I just enabled the post-merge-window flow from ath-next)
>
> https://lore.kernel.org/all/20250321-ath12k-dont-put-chanctx-in-arvif-v1-1-c8e93061952b@quicinc.com/
Ah-ha! Thank you! :)
-Kees
--
Kees Cook
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-04-07 20:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-11 1:32 [PATCH][next] wifi: ath12k: core.h: Avoid -Wflex-array-member-not-at-end warnings Gustavo A. R. Silva
2025-04-07 18:39 ` Kees Cook
2025-04-07 18:45 ` Jeff Johnson
2025-04-07 20:29 ` Kees Cook
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).