DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] bus: fix memleak during pci device cleanup
@ 2022-10-19 10:49 Kevin Laatz
  2022-10-19 11:40 ` David Marchand
  2022-10-19 12:37 ` [PATCH v2] " Kevin Laatz
  0 siblings, 2 replies; 6+ messages in thread
From: Kevin Laatz @ 2022-10-19 10:49 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz, Bruce Richardson, Morten Brørup

During PCI bus device cleanup some interrupt handle pointers and the
bus_info pointer are not being free'd, leading to memory leaks.
This patch fixes the memory leaks by ensuring they are free'd during
device cleanup on exit.

Fixes: 1cab1a40ea9b ("bus: cleanup devices on shutdown")

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/bus/pci/pci_common.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
index 7f598667fe..330a41ed12 100644
--- a/drivers/bus/pci/pci_common.c
+++ b/drivers/bus/pci/pci_common.c
@@ -456,6 +456,20 @@ pci_cleanup(void)
 		}
 		dev->driver = NULL;
 		dev->device.driver = NULL;
+
+		/* free interrupt handles */
+		if (dev->intr_handle != NULL) {
+			rte_intr_instance_free(dev->intr_handle);
+			dev->intr_handle = NULL;
+			rte_intr_instance_free(dev->vfio_req_intr_handle);
+			dev->vfio_req_intr_handle = NULL;
+		}
+
+		if (dev->bus_info != NULL) {
+			free(dev->bus_info);
+			dev->bus_info = NULL;
+		}
+
 		free(dev);
 	}
 
-- 
2.31.1


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

end of thread, other threads:[~2022-10-20 11:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-19 10:49 [PATCH] bus: fix memleak during pci device cleanup Kevin Laatz
2022-10-19 11:40 ` David Marchand
2022-10-19 12:37 ` [PATCH v2] " Kevin Laatz
2022-10-20  5:31   ` Li, WeiyuanX
2022-10-20  9:19   ` David Marchand
2022-10-20 11:31     ` 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).