1 From fff244e9171b2ca692469d41c68b36607bd73ab0 Mon Sep 17 00:00:00 2001
2 From: Johannes Berg <johannes.berg@intel.com>
3 Date: Wed, 5 Oct 2022 15:10:09 +0200
4 Subject: [PATCH] wifi: mac80211_hwsim: avoid mac80211 warning on bad rate
6 Content-Type: text/plain; charset=utf8
7 Content-Transfer-Encoding: 8bit
9 commit 1833b6f46d7e2830251a063935ab464256defe22 upstream.
11 If the tool on the other side (e.g. wmediumd) gets confused
12 about the rate, we hit a warning in mac80211. Silence that
13 by effectively duplicating the check here and dropping the
14 frame silently (in mac80211 it's dropped with the warning).
16 Reported-by: Sönke Huster <shuster@seemoo.tu-darmstadt.de>
17 Tested-by: Sönke Huster <shuster@seemoo.tu-darmstadt.de>
18 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
19 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
21 drivers/net/wireless/mac80211_hwsim.c | 2 ++
22 1 file changed, 2 insertions(+)
24 diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
25 index 52a2574b7d13..b228567b2a73 100644
26 --- a/drivers/net/wireless/mac80211_hwsim.c
27 +++ b/drivers/net/wireless/mac80211_hwsim.c
28 @@ -3749,6 +3749,8 @@ static int hwsim_cloned_frame_received_nl(struct sk_buff *skb_2,
30 rx_status.band = channel->band;
31 rx_status.rate_idx = nla_get_u32(info->attrs[HWSIM_ATTR_RX_RATE]);
32 + if (rx_status.rate_idx >= data2->hw->wiphy->bands[rx_status.band]->n_bitrates)
34 rx_status.signal = nla_get_u32(info->attrs[HWSIM_ATTR_SIGNAL]);
36 hdr = (void *)skb->data;