]> 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, 1 Nov 2024 01:02:29 +0000 (02:02 +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 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;
        }