lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 501/800] mt76: testmode: fix memory leak in mt76_testmode_alloc_skb
    Date
    From: Lorenzo Bianconi <lorenzo@kernel.org>

    [ Upstream commit fe2c3b1fc64ea0c7a5b2ca2f671b4572ff99baf8 ]

    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 <lorenzo@kernel.org>
    Signed-off-by: Felix Fietkau <nbd@nbd.name>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/mediatek/mt76/testmode.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/wireless/mediatek/mt76/testmode.c b/drivers/net/wireless/mediatek/mt76/testmode.c
    index 001d0ba5f73e..f40387a866ee 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;
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 11:10    [W:2.959 / U:0.244 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site