Skip to content

Commit 6dede39

Browse files
devnexenkuba-moo
authored andcommitted
net: altera-tse: fix skb leak on DMA mapping error in tse_start_xmit()
When dma_map_single() fails in tse_start_xmit(), the function returns NETDEV_TX_OK without freeing the skb. Since NETDEV_TX_OK tells the stack the packet was consumed, the skb is never freed, leaking memory on every DMA mapping failure. Add dev_kfree_skb_any() before returning to properly free the skb. Fixes: bbd2190 ("Altera TSE: Add main and header file for Altera Ethernet Driver") Cc: stable@vger.kernel.org Signed-off-by: David Carlier <devnexen@gmail.com> Link: https://patch.msgid.link/20260401211218.279185-1-devnexen@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent e9c9f08 commit 6dede39

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

drivers/net/ethernet/altera/altera_tse_main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,7 @@ static netdev_tx_t tse_start_xmit(struct sk_buff *skb, struct net_device *dev)
570570
DMA_TO_DEVICE);
571571
if (dma_mapping_error(priv->device, dma_addr)) {
572572
netdev_err(priv->dev, "%s: DMA mapping error\n", __func__);
573+
dev_kfree_skb_any(skb);
573574
ret = NETDEV_TX_OK;
574575
goto out;
575576
}

0 commit comments

Comments
 (0)