Commit a4384d78 authored by Abdun Nihaal's avatar Abdun Nihaal Committed by Jakub Kicinski
Browse files

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: 6402528b ("nfp: xsk: add AF_XDP zero-copy Rx and Tx support")
Signed-off-by: default avatarAbdun Nihaal <nihaal@cse.iitm.ac.in>
Link: https://patch.msgid.link/20251028160845.126919-1-nihaal@cse.iitm.ac.in


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent bcc843bb
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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);