mt76: mt7915: fix possible memory leak in mt7915_mcu_add_sta
authorLorenzo Bianconi <lorenzo@kernel.org>
Mon, 24 Jan 2022 19:36:52 +0000 (20:36 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 3 Feb 2022 12:57:59 +0000 (13:57 +0100)
Free allocated skb in mt7915_mcu_add_sta routine in case of failures.

Fixes: 89bbd3730f382 ("mt76: mt7915: rework starec TLV tags")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c

index e42900b..d810d57 100644 (file)
@@ -1686,8 +1686,10 @@ int mt7915_mcu_add_sta(struct mt7915_dev *dev, struct ieee80211_vif *vif,
        }
 
        ret = mt7915_mcu_sta_wtbl_tlv(dev, skb, vif, sta);
-       if (ret)
+       if (ret) {
+               dev_kfree_skb(skb);
                return ret;
+       }
 
        if (sta && sta->ht_cap.ht_supported) {
                /* starec amsdu */
@@ -1701,8 +1703,10 @@ int mt7915_mcu_add_sta(struct mt7915_dev *dev, struct ieee80211_vif *vif,
        }
 
        ret = mt7915_mcu_add_group(dev, vif, sta);
-       if (ret)
+       if (ret) {
+               dev_kfree_skb(skb);
                return ret;
+       }
 out:
        return mt76_mcu_skb_send_msg(&dev->mt76, skb,
                                     MCU_EXT_CMD(STA_REC_UPDATE), true);