From: Lorenzo Bianconi Date: Tue, 21 Jul 2020 08:19:22 +0000 (+0200) Subject: mt76: mt7615: fix possible memory leak in mt7615_mcu_wtbl_sta_add X-Git-Tag: v5.15~3197^2~19^2~34^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2bccc8415883c1cd5ae8836548d9783dbbd84999;p=platform%2Fkernel%2Flinux-starfive.git mt76: mt7615: fix possible memory leak in mt7615_mcu_wtbl_sta_add Free the second mcu skb if __mt76_mcu_skb_send_msg() fails to transmit the first one in mt7615_mcu_wtbl_sta_add(). Fixes: 99c457d902cf9 ("mt76: mt7615: move mt7615_mcu_set_bmc to mt7615_mcu_ops") Signed-off-by: Lorenzo Bianconi Signed-off-by: Felix Fietkau --- diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c index 2e0928d..d0cbb28 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c @@ -1293,8 +1293,12 @@ mt7615_mcu_wtbl_sta_add(struct mt7615_dev *dev, struct ieee80211_vif *vif, skb = enable ? wskb : sskb; err = __mt76_mcu_skb_send_msg(&dev->mt76, skb, cmd, true); - if (err < 0) + if (err < 0) { + skb = enable ? sskb : wskb; + dev_kfree_skb(skb); + return err; + } cmd = enable ? MCU_EXT_CMD_STA_REC_UPDATE : MCU_EXT_CMD_WTBL_UPDATE; skb = enable ? sskb : wskb;