From: Lorenzo Bianconi Date: Thu, 27 May 2021 11:35:28 +0000 (+0200) Subject: mt76: testmode: fix memory leak in mt76_testmode_alloc_skb X-Git-Tag: v5.15~843^2~30^2~25^2~51 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fe2c3b1fc64ea0c7a5b2ca2f671b4572ff99baf8;p=platform%2Fkernel%2Flinux-starfive.git mt76: testmode: fix memory leak in mt76_testmode_alloc_skb Free all pending frames in case of failure in mt76_testmode_alloc_skb routine Fixes: 2601dda8faa76 ("mt76: testmode: add support to send larger packet") Signed-off-by: Lorenzo Bianconi Signed-off-by: Felix Fietkau --- diff --git a/drivers/net/wireless/mediatek/mt76/testmode.c b/drivers/net/wireless/mediatek/mt76/testmode.c index 001d0ba..f40387a 100644 --- a/drivers/net/wireless/mediatek/mt76/testmode.c +++ b/drivers/net/wireless/mediatek/mt76/testmode.c @@ -158,8 +158,11 @@ int mt76_testmode_alloc_skb(struct mt76_phy *phy, u32 len) frag_len = MT_TXP_MAX_LEN; frag = alloc_skb(frag_len, GFP_KERNEL); - if (!frag) + if (!frag) { + mt76_testmode_free_skb(phy); + dev_kfree_skb(head); return -ENOMEM; + } __skb_put_zero(frag, frag_len); head->len += frag->len;