DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev]  [PATCH] vfio: fix resource leak when mapping fails
@ 2020-06-21  9:07 Yunjian Wang
  2020-09-11 11:08 ` [dpdk-dev] [PATCH v2 RESEND] " wangyunjian
  0 siblings, 1 reply; 4+ messages in thread
From: Yunjian Wang @ 2020-06-21  9:07 UTC (permalink / raw)
  To: dev, anatoly.burakov; +Cc: Yunjian Wang, stable

Currently, only the 'vfio_dev_fd' is closed in failure path, so
some resources are not released(such as 'vfio_group_fd'). The
rte_vfio_release_device() should be used to avoid this problem.

Fixes: 33604c31354a ("vfio: refactor PCI BAR mapping")
Cc: stable@dpdk.org

Signed-off-by: Yunjian Wang <yunjian.wang@foxmail.com>
---
 drivers/bus/pci/linux/pci_vfio.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
index 64cd84a68..c87373b90 100644
--- a/drivers/bus/pci/linux/pci_vfio.c
+++ b/drivers/bus/pci/linux/pci_vfio.c
@@ -789,7 +789,8 @@ pci_vfio_map_resource_primary(struct rte_pci_device *dev)
 err_vfio_res:
 	rte_free(vfio_res);
 err_vfio_dev_fd:
-	close(vfio_dev_fd);
+	rte_vfio_release_device(rte_pci_get_sysfs_path(),
+				pci_addr, vfio_dev_fd);
 	return -1;
 }
 
@@ -857,7 +858,8 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
 
 	return 0;
 err_vfio_dev_fd:
-	close(vfio_dev_fd);
+	rte_vfio_release_device(rte_pci_get_sysfs_path(),
+				pci_addr, vfio_dev_fd);
 	return -1;
 }
 
-- 
2.18.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-10-05  8:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-21  9:07 [dpdk-dev] [PATCH] vfio: fix resource leak when mapping fails Yunjian Wang
2020-09-11 11:08 ` [dpdk-dev] [PATCH v2 RESEND] " wangyunjian
2020-09-17 10:35   ` Burakov, Anatoly
2020-10-05  8:12   ` David Marchand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).