]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:06:03 +0000 (14:06 +0200)
[ 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>
drivers/net/wireless/mediatek/mt76/mt7615/main.c

index 1fdcada157d6b1089cd0f8ebb8f34c698114ffad..18a320d00d8d2d8f85a5680077567fcb4afb055e 100644 (file)
@@ -686,6 +686,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;