From: John Robin <johnrobin044@gmail.com>
To: linux-wireless@vger.kernel.org
Cc: kuba@kernel.org, matthias.bgg@gmail.com,
angelogioacchino.delregno@collabora.com,
linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
John Robin <johnrobin044@gmail.com>
Subject: [PATCH v2 1/4] wifi: mt7601u: fix out-of-bounds access in rate index
Date: Sun, 8 Nov 2026 12:47:43 +0530 [thread overview]
Message-ID: <20261108071820.35303-2-johnrobin044@gmail.com> (raw)
In-Reply-To: <20261108071820.35303-1-johnrobin044@gmail.com>
The rate->idx value can occasionally exceed the supported band's
bitrates array length, leading to a memory out-of-bounds access.
Add a bounds check to safely fall back to CCK rates if the index
is invalid.
Signed-off-by: John Robin <johnrobin044@gmail.com>
---
drivers/net/wireless/mediatek/mt7601u/mac.c | 32 +++++++++++++--------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt7601u/mac.c b/drivers/net/wireless/mediatek/mt7601u/mac.c
index ca9cf628eb10d..bf485dabca745 100644
--- a/drivers/net/wireless/mediatek/mt7601u/mac.c
+++ b/drivers/net/wireless/mediatek/mt7601u/mac.c
@@ -118,19 +118,27 @@ u16 mt76_mac_tx_rate_val(struct mt7601u_dev *dev,
if (rate->flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
bw = 1;
} else {
- const struct ieee80211_rate *r;
- int band = dev->chandef.chan->band;
- u16 val;
-
- r = &dev->hw->wiphy->bands[band]->bitrates[rate->idx];
- if (rate->flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE)
- val = r->hw_value_short;
- else
- val = r->hw_value;
- phy = val >> 8;
- rate_idx = val & 0xff;
- bw = 0;
+ int band = dev->chandef.chan->band;
+ struct ieee80211_supported_band *sband =
+ dev->hw->wiphy->bands[band];
+
+ if (rate->idx < 0 || rate->idx >= sband->n_bitrates) {
+ phy = MT_PHY_TYPE_CCK;
+ rate_idx = 0;
+ } else {
+ const struct ieee80211_rate *r =
+ &sband->bitrates[rate->idx];
+ u16 val;
+
+ if (rate->flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE)
+ val = r->hw_value_short;
+ else
+ val = r->hw_value;
+
+ phy = val >> 8;
+ rate_idx = val & 0xff;
+ }
}
rateval = FIELD_PREP(MT_RXWI_RATE_MCS, rate_idx);
--
2.56.0
next prev parent reply other threads:[~2026-11-08 7:19 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-15 12:41 [PATCH wireless-next] wifi: mt76: mt7601u: add support for AP and P2P concurrent modes John Robin
2026-10-09 13:11 ` Bitterblue Smith
2026-11-08 7:17 ` [PATCH v2 0/4] wifi: mt7601u: add AP and Wi-Fi Direct support John Robin
2026-11-08 7:17 ` John Robin [this message]
2026-11-08 7:17 ` [PATCH v2 2/4] wifi: mt7601u: enable AP and Wi-Fi Direct interface modes John Robin
2026-11-08 7:17 ` [PATCH v2 3/4] wifi: mt7601u: add AP operations and beacon handling John Robin
2026-11-08 7:17 ` [PATCH v2 4/4] wifi: mt7601u: optimize management frame routing and queues John Robin
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=20261108071820.35303-2-johnrobin044@gmail.com \
--to=johnrobin044@gmail.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-wireless@vger.kernel.org \
--cc=matthias.bgg@gmail.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
all inboxes | Powered by JetHome®