[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251028160845.126919-1-nihaal@cse.iitm.ac.in>
Date: Tue, 28 Oct 2025 21:38:41 +0530
From: Abdun Nihaal <nihaal@....iitm.ac.in>
To: kuba@...nel.org
Cc: Abdun Nihaal <nihaal@....iitm.ac.in>,
horms@...nel.org,
andrew+netdev@...n.ch,
davem@...emloft.net,
edumazet@...gle.com,
pabeni@...hat.com,
oss-drivers@...igine.com,
netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH net v2] nfp: xsk: fix memory leak in nfp_net_alloc()
In nfp_net_alloc(), the memory allocated for xsk_pools is not freed in
the subsequent error paths, leading to a memory leak. Fix that by
freeing it in the error path.
Fixes: 6402528b7a0b ("nfp: xsk: add AF_XDP zero-copy Rx and Tx support")
Signed-off-by: Abdun Nihaal <nihaal@....iitm.ac.in>
---
Compile tested only. Found using static analysis.
v1->v2
- Used dedicated jump labels to free the xsk_pools
as suggested by Jakub Kicinski
Link to v1:
- https://patchwork.kernel.org/project/netdevbpf/patch/20251024152528.275533-1-nihaal@cse.iitm.ac.in/
drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
index 132626a3f9f7..9ef72f294117 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
@@ -2557,14 +2557,16 @@ nfp_net_alloc(struct pci_dev *pdev, const struct nfp_dev_info *dev_info,
err = nfp_net_tlv_caps_parse(&nn->pdev->dev, nn->dp.ctrl_bar,
&nn->tlv_caps);
if (err)
- goto err_free_nn;
+ goto err_free_xsk_pools;
err = nfp_ccm_mbox_alloc(nn);
if (err)
- goto err_free_nn;
+ goto err_free_xsk_pools;
return nn;
+err_free_xsk_pools:
+ kfree(nn->dp.xsk_pools);
err_free_nn:
if (nn->dp.netdev)
free_netdev(nn->dp.netdev);
--
2.43.0
Powered by blists - more mailing lists