From: Kalle Valo <kvalo@kernel.org>
To: Jeff Johnson <quic_jjohnson@quicinc.com>
Cc: Koen Vandeputte <koen.vandeputte@citymesh.com>,
<ath10k@lists.infradead.org>,
linux-wireless <linux-wireless@vger.kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>, <netdev@vger.kernel.org>,
Johannes Berg <johannes@sipsolutions.net>,
Kees Cook <keescook@chromium.org>
Subject: Re: ieee80211.h virtual_map splat
Date: Tue, 25 Jun 2024 09:56:35 +0300 [thread overview]
Message-ID: <87o77pik7w.fsf@kernel.org> (raw)
In-Reply-To: <c470e4ff-3f70-40f6-844a-f9614286509f@quicinc.com> (Jeff Johnson's message of "Mon, 24 Jun 2024 20:44:11 -0700")
Jeff Johnson <quic_jjohnson@quicinc.com> writes:
> On 6/21/2024 1:04 AM, Koen Vandeputte wrote:
>
>> Hi all,
>>
>> Within OpenWRT, we switched to kernel 6.6 some time ago.
>>
>> During testing on a WiFi WDS setup (ath10k), I noticed an old standing
>> bug which now prints a lot more data due to the kernel upgrade:
>>
>> - All WDS stations are connected
>> - The splat occurs
>> - All WDS station seem to go in timeout and disconnect
>> - The behavior is fixed after a reboot
>>
>> Yes, we use ath10k-ct over here, but this part of the code is
>> identical to upstream ath10k.
>>
>> The main issue:
>>
>> memcpy: detected field-spanning write (size 64) of single field
>> "tim->virtual_map" at
>> ../ath10k-ct-smallbuffers/ath10k-ct-2024.03.02~eb3f488a/ath10k-6.7/wmi.c:4043
>> (size 1)
>>
>>
>> looks like virtual_map is defined as "u8 virtual_map[1]", triggering
>> that error within "include/linux/ieee80211.h"
>>
>> /**
>> * struct ieee80211_tim_ie - Traffic Indication Map information element
>> * @dtim_count: DTIM Count
>> * @dtim_period: DTIM Period
>> * @bitmap_ctrl: Bitmap Control
>> * @virtual_map: Partial Virtual Bitmap
>> *
>> * This structure represents the payload of the "TIM element" as
>> * described in IEEE Std 802.11-2020 section 9.4.2.5.
>> */
>> struct ieee80211_tim_ie {
>> u8 dtim_count;
>> u8 dtim_period;
>> u8 bitmap_ctrl;
>> /* variable size: 1 - 251 bytes */
>> u8 virtual_map[1];
>> } __packed;
>>
>>
>> According to this page, defining it this way is actually deprecated:
>> https://www.kernel.org/doc/html/latest/process/deprecated.html
>>
>> What is the correct way to fix this?
>> Converting it to "u8 virtual_map[];" ?
>
> Adding netdev to the initial message in the thread.
> https://lore.kernel.org/all/CAPh3n83zb1PwFBFijJKChBqY95zzpYh=2iPf8tmh=YTS6e3xPw@mail.gmail.com/
>
> There was some discussion in the thread, with the observation that the splat
> is fixed by:
> 2ae5c9248e06 ("wifi: mac80211: Use flexible array in struct ieee80211_tim_ie")
>
> Followed by discussion if this should be backported.
>
> Kees said that "netdev [...] maintainers have asked that contributors not
> include "Cc: stable" tags, as they want to evaluate for themselves whether
> patches should go to stable or not"
BTW this rule doesn't apply to wireless subsystem. For wireless patches
it's ok to "Cc: stable" in patches or anyone can send a request to
stable maintainers to pick a patch.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
next prev parent reply other threads:[~2024-06-25 6:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAPh3n83zb1PwFBFijJKChBqY95zzpYh=2iPf8tmh=YTS6e3xPw@mail.gmail.com>
2024-06-25 3:44 ` ieee80211.h virtual_map splat Jeff Johnson
2024-06-25 6:56 ` Kalle Valo [this message]
2024-06-25 15:02 ` Jakub Kicinski
2024-06-25 15:25 ` Kalle Valo
2024-06-26 18:11 ` Kees Cook
2024-06-26 18:31 ` Jeff Johnson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87o77pik7w.fsf@kernel.org \
--to=kvalo@kernel.org \
--cc=ath10k@lists.infradead.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=johannes@sipsolutions.net \
--cc=keescook@chromium.org \
--cc=koen.vandeputte@citymesh.com \
--cc=kuba@kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=quic_jjohnson@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).