patch 'bus/pci: fix resource leak in secondary process' has been queued to stable release 23.11.6

Shani Peretz shperetz at nvidia.com
Thu Dec 25 10:17:33 CET 2025


Hi,

FYI, your patch has been queued to stable release 23.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/30/25. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/shanipr/dpdk-stable

This queued commit can be viewed at:
https://github.com/shanipr/dpdk-stable/commit/d7af410e9a05e2d89f944bd623df6e605a853d64

Thanks.

Shani

---
>From d7af410e9a05e2d89f944bd623df6e605a853d64 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov at intel.com>
Date: Fri, 24 Oct 2025 10:18:24 +0100
Subject: [PATCH] bus/pci: fix resource leak in secondary process

[ upstream commit 6ca08d36ba7310edfe96207b299f79221b7e2d37 ]

Right after setting up VFIO device, we attempt to fill region information.
This operation can fail, and if it does, we do not release the device fd.
Fix the control flow to free the device fd if getting region info failed.

Fixes: 4b741542ecde ("bus/pci: avoid depending on private kernel value")

Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
---
 drivers/bus/pci/linux/pci_vfio.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
index baa0b9d9b3..9341560fe5 100644
--- a/drivers/bus/pci/linux/pci_vfio.c
+++ b/drivers/bus/pci/linux/pci_vfio.c
@@ -970,7 +970,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
 	char pci_addr[PATH_MAX] = {0};
 	int vfio_dev_fd;
 	struct rte_pci_addr *loc = &dev->addr;
-	int i, j, ret;
+	int j, ret, i = 0;
 	struct mapped_pci_resource *vfio_res = NULL;
 	struct mapped_pci_res_list *vfio_res_list =
 		RTE_TAILQ_CAST(rte_vfio_tailq.head, mapped_pci_res_list);
@@ -1009,7 +1009,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
 
 	ret = pci_vfio_fill_regions(dev, vfio_dev_fd, &device_info);
 	if (ret)
-		return ret;
+		goto err_vfio_dev_fd;
 
 	/* map BARs */
 	maps = vfio_res->maps;
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-12-25 11:16:36.972943113 +0200
+++ 0012-bus-pci-fix-resource-leak-in-secondary-process.patch	2025-12-25 11:16:35.352898000 +0200
@@ -1 +1 @@
-From 6ca08d36ba7310edfe96207b299f79221b7e2d37 Mon Sep 17 00:00:00 2001
+From d7af410e9a05e2d89f944bd623df6e605a853d64 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6ca08d36ba7310edfe96207b299f79221b7e2d37 ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -19 +20 @@
-index c63721dd61..8562fdcc6b 100644
+index baa0b9d9b3..9341560fe5 100644
@@ -22 +23 @@
-@@ -932,7 +932,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
+@@ -970,7 +970,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
@@ -31 +32 @@
-@@ -968,7 +968,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
+@@ -1009,7 +1009,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)


More information about the stable mailing list