[SRU OEM-6.0 7/9] wifi: mac80211_hwsim: avoid mac80211 warning on bad rate
Thadeu Lima de Souza Cascardo
cascardo at canonical.com
Tue Oct 18 17:43:10 UTC 2022
From: Johannes Berg <johannes.berg at intel.com>
If the tool on the other side (e.g. wmediumd) gets confused
about the rate, we hit a warning in mac80211. Silence that
by effectively duplicating the check here and dropping the
frame silently (in mac80211 it's dropped with the warning).
Reported-by: Sönke Huster <shuster at seemoo.tu-darmstadt.de>
Tested-by: Sönke Huster <shuster at seemoo.tu-darmstadt.de>
Signed-off-by: Johannes Berg <johannes.berg at intel.com>
(cherry picked from commit 1833b6f46d7e2830251a063935ab464256defe22)
CVE-2022-41674
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at canonical.com>
---
drivers/net/wireless/mac80211_hwsim.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
index 1f301a5fb396..ee34814bd12b 100644
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
@@ -4526,6 +4526,8 @@ static int hwsim_cloned_frame_received_nl(struct sk_buff *skb_2,
rx_status.band = channel->band;
rx_status.rate_idx = nla_get_u32(info->attrs[HWSIM_ATTR_RX_RATE]);
+ if (rx_status.rate_idx >= data2->hw->wiphy->bands[rx_status.band]->n_bitrates)
+ goto out;
rx_status.signal = nla_get_u32(info->attrs[HWSIM_ATTR_SIGNAL]);
hdr = (void *)skb->data;
--
2.34.1
More information about the kernel-team
mailing list