patch 'vdpa/nfp: fix double PCI unmap on unplug' has been queued to stable release 24.11.7

luca.boccassi at gmail.com luca.boccassi at gmail.com
Mon Jul 6 12:19:56 CEST 2026


Hi,

FYI, your patch has been queued to stable release 24.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/05/26. 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/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/93d42743dc17ebb915b89d3603a64276926b6b7f

Thanks.

Luca Boccassi

---
>From 93d42743dc17ebb915b89d3603a64276926b6b7f Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand at redhat.com>
Date: Wed, 24 Jun 2026 11:04:52 +0200
Subject: [PATCH] vdpa/nfp: fix double PCI unmap on unplug

[ upstream commit 7185c65c95c678f5e22bccc5ca087793cd2d140c ]

This driver uses its own VFIO container and handles mapping/unmapping
itself. It should not use RTE_PCI_DRV_NEED_MAPPING flag, which causes
the PCI bus to also attempt unmapping, resulting in double free.

Fixes: 7b2a1228c59d ("vdpa/nfp: add remap PCI memory")

Signed-off-by: David Marchand <david.marchand at redhat.com>
---
 drivers/vdpa/nfp/nfp_vdpa.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/vdpa/nfp/nfp_vdpa.c b/drivers/vdpa/nfp/nfp_vdpa.c
index 7f2f21ec6c..497ae7d8bf 100644
--- a/drivers/vdpa/nfp/nfp_vdpa.c
+++ b/drivers/vdpa/nfp/nfp_vdpa.c
@@ -117,8 +117,6 @@ nfp_vdpa_vfio_setup(struct nfp_vdpa_dev *device)
 	char dev_name[RTE_DEV_NAME_MAX_LEN] = {0};
 	struct rte_pci_device *pci_dev = device->pci_dev;
 
-	rte_pci_unmap_device(pci_dev);
-
 	rte_pci_device_name(&pci_dev->addr, dev_name, RTE_DEV_NAME_MAX_LEN);
 	ret = rte_vfio_get_group_num(rte_pci_get_sysfs_path(), dev_name,
 			&device->iommu_group);
@@ -1299,7 +1297,7 @@ static struct nfp_class_driver nfp_vdpa = {
 	.drv_class = NFP_CLASS_VDPA,
 	.name = RTE_STR(NFP_VDPA_DRIVER_NAME),
 	.id_table = pci_id_nfp_vdpa_map,
-	.drv_flags =  RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC,
+	.drv_flags = RTE_PCI_DRV_INTR_LSC,
 	.probe = nfp_vdpa_pci_probe,
 	.remove = nfp_vdpa_pci_remove,
 };
-- 
2.47.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-07-03 12:55:46.874428685 +0100
+++ 0004-vdpa-nfp-fix-double-PCI-unmap-on-unplug.patch	2026-07-03 12:55:46.578571570 +0100
@@ -1 +1 @@
-From 7185c65c95c678f5e22bccc5ca087793cd2d140c Mon Sep 17 00:00:00 2001
+From 93d42743dc17ebb915b89d3603a64276926b6b7f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7185c65c95c678f5e22bccc5ca087793cd2d140c ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -19 +20 @@
-index f4fd5c92ec..4c0ab3ff30 100644
+index 7f2f21ec6c..497ae7d8bf 100644
@@ -22 +23 @@
-@@ -119,8 +119,6 @@ nfp_vdpa_vfio_setup(struct nfp_vdpa_dev *device)
+@@ -117,8 +117,6 @@ nfp_vdpa_vfio_setup(struct nfp_vdpa_dev *device)
@@ -31 +32 @@
-@@ -1301,7 +1299,7 @@ static struct nfp_class_driver nfp_vdpa = {
+@@ -1299,7 +1297,7 @@ static struct nfp_class_driver nfp_vdpa = {


More information about the stable mailing list