mirror of
https://github.com/torvalds/linux.git
synced 2026-09-27 11:02:03 +02:00
wifi: mac80211: don't apply peer rates to off-channel frames
All the off-channel frames (including scan) aren't really part of the connection, so don't apply the station rates even if they're being sent to the station in question (e.g. by accident). They don't use the rate mask via IEEE80211_TX_CTRL_DONT_USE_RATE_MASK, but the station might not have rates of them either, hitting the warning found by syzbot. Assisted-by: LLM Reported-by: syzbot+34463a129786910405dd@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=34463a129786910405dd Link: https://patch.msgid.link/20260904165722.ade6b07421b8.I59b7ea810eb021a7a68b3090828a757b6dd85e57@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
f4e72e3758
commit
f5dd0626d2
|
|
@ -372,6 +372,14 @@ static void __rate_control_send_low(struct ieee80211_hw *hw,
|
|||
u32 rate_flags = 0;
|
||||
int i;
|
||||
|
||||
/*
|
||||
* Frames that shouldn't use the rate mask could be anything,
|
||||
* even on a different band, so don't take the sta into account
|
||||
* to avoid ending up without rates.
|
||||
*/
|
||||
if (info->control.flags & IEEE80211_TX_CTRL_DONT_USE_RATE_MASK)
|
||||
sta = NULL;
|
||||
|
||||
if (sband->band == NL80211_BAND_S1GHZ) {
|
||||
info->control.rates[0].flags |= IEEE80211_TX_RC_S1G_MCS;
|
||||
info->control.rates[0].idx = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user