]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update
authorLorenzo Bianconi <lorenzo@kernel.org>
Sat, 22 Jan 2022 14:58:58 +0000 (15:58 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 20 May 2022 12:38:47 +0000 (14:38 +0200)
BugLink: https://bugs.launchpad.net/bugs/1969110
[ Upstream commit 6a6f457ed5fdf6777536c20644a9e42128a50ec2 ]

Check sta_rates pointer value in mt7615_sta_rate_tbl_update routine
since minstrel_ht_update_rates can fail allocating rates array.

Fixes: 04b8e65922f63 ("mt76: add mac80211 driver for MT7615 PCIe-based chipsets")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit a53c147ac4964ea3a8e5837dcebe4c39ecc4b091)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/net/wireless/mediatek/mt76/mt7615/main.c

index fc266da54fe7b59f6b61a7a28daade18c8ed438b..60a41d08296117f032b64d606e0f877dfe8c199c 100644 (file)
@@ -682,6 +682,9 @@ static void mt7615_sta_rate_tbl_update(struct ieee80211_hw *hw,
        struct ieee80211_sta_rates *sta_rates = rcu_dereference(sta->rates);
        int i;
 
+       if (!sta_rates)
+               return;
+
        spin_lock_bh(&dev->mt76.lock);
        for (i = 0; i < ARRAY_SIZE(msta->rates); i++) {
                msta->rates[i].idx = sta_rates->rate[i].idx;