]> git.ipfire.org Git - thirdparty/kernel/linux.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)
committerJakub Kicinski <kuba@kernel.org>
Tue, 15 Oct 2024 19:53:52 +0000 (12:53 -0700)
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>
drivers/net/ethernet/broadcom/bcmsysport.c

index c9faa85408593b58d1022c01e4162af33b8ffab8..0a68b526e4a8213fd8f3536d6af46ff8d6a8ffc4 100644 (file)
@@ -1359,6 +1359,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;
        }