[PATCH net] net: xilinx: axienet: fix potential memory leak in axienet_start_xmit()
Pandey, Radhey Shyam
radhey.shyam.pandey at amd.com
Mon Oct 14 10:12:57 PDT 2024
> -----Original Message-----
> From: Wang Hai <wanghai38 at huawei.com>
> Sent: Monday, October 14, 2024 8:07 PM
> To: Pandey, Radhey Shyam <radhey.shyam.pandey at amd.com>;
> davem at davemloft.net; edumazet at google.com; kuba at kernel.org;
> pabeni at redhat.com; Simek, Michal <michal.simek at amd.com>;
> andre.przywara at arm.com; zhangxiaoxu5 at huawei.com
> Cc: netdev at vger.kernel.org; linux-arm-kernel at lists.infradead.org; linux-
> kernel at vger.kernel.org; wanghai38 at huawei.com
> Subject: [PATCH net] net: xilinx: axienet: fix potential memory leak in
> axienet_start_xmit()
>
> The axienet_start_xmit() returns NETDEV_TX_OK without freeing skb in case of
> dma_map_single() fails, add dev_kfree_skb_any() to fix it.
>
> Fixes: 71791dc8bdea ("net: axienet: Check for DMA mapping errors")
> Signed-off-by: Wang Hai <wanghai38 at huawei.com>
Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey at amd.com>
Thanks!
> ---
> drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> index ea7d7c03f48e..53cf1a927278 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> @@ -1046,6 +1046,7 @@ axienet_start_xmit(struct sk_buff *skb, struct net_device
> *ndev)
> if (net_ratelimit())
> netdev_err(ndev, "TX DMA mapping error\n");
> ndev->stats.tx_dropped++;
> + dev_kfree_skb_any(skb);
> return NETDEV_TX_OK;
> }
> desc_set_phys_addr(lp, phys, cur_p);
> @@ -1066,6 +1067,7 @@ axienet_start_xmit(struct sk_buff *skb, struct net_device
> *ndev)
> ndev->stats.tx_dropped++;
> axienet_free_tx_chain(lp, orig_tail_ptr, ii + 1,
> true, NULL, 0);
> + dev_kfree_skb_any(skb);
> return NETDEV_TX_OK;
> }
> desc_set_phys_addr(lp, phys, cur_p);
> --
> 2.17.1
More information about the linux-arm-kernel
mailing list