]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: systemport: fix potential memory leak in bcm_sysport_xmit()
authorWang Hai <wanghai38@huawei.com>
Mon, 14 Oct 2024 14:51:15 +0000 (22:51 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Nov 2024 15:21:57 +0000 (16:21 +0100)
[ Upstream commit c401ed1c709948e57945485088413e1bb5e94bd1 ]

The bcm_sysport_xmit() returns NETDEV_TX_OK without freeing skb
in case of dma_map_single() fails, add dev_kfree_skb() to fix it.

Fixes: 80105befdb4b ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver")
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Link: https://patch.msgid.link/20241014145115.44977-1-wanghai38@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/broadcom/bcmsysport.c

index 82d369d9f7a507ff9679932526f3333f5fdac4ff..ae1cf2ead9a9688b17cb995aa6d80ccedfe62265 100644 (file)
@@ -1343,6 +1343,7 @@ static netdev_tx_t bcm_sysport_xmit(struct sk_buff *skb,
                netif_err(priv, tx_err, dev, "DMA map failed at %p (len=%d)\n",
                          skb->data, skb_len);
                ret = NETDEV_TX_OK;
+               dev_kfree_skb_any(skb);
                goto out;
        }