patch 'net/failsafe: fix double release of sub-device port' has been queued to stable release 24.11.9

luca.boccassi at gmail.com luca.boccassi at gmail.com
Thu Nov 5 17:42:30 CET 2026


Hi,

FYI, your patch has been queued to stable release 24.11.9

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

Thanks.

Luca Boccassi

---
>From cc0d2c3b5cd83491b20b15b049f74fdbd367c690 Mon Sep 17 00:00:00 2001
From: Sandeep Penigalapati <sandeep.penigalapati at intel.com>
Date: Thu, 15 Oct 2026 16:19:22 +0000
Subject: [PATCH] net/failsafe: fix double release of sub-device port

[ upstream commit 10f27ba3efc4e95c7f9af5c34908b8c20c3d3a39 ]

fs_dev_remove() releases the sub-device ethdev port a second time after
it has already been released: for an active sub-device by
rte_eth_dev_close(), and for a probed one by the driver remove called
from rte_dev_remove(). The first release sets eth_dev->data to NULL, so
the second rte_eth_dev_release_port() dereferences a NULL pointer and
crashes during hot-unplug.

Remove the redundant release and let the close and bus remove paths own
the release of the port.

Fixes: fac0ae546e5f ("net/failsafe: free port by dedicated function")

Signed-off-by: Sandeep Penigalapati <sandeep.penigalapati at intel.com>
---
 drivers/net/failsafe/failsafe_ether.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/failsafe/failsafe_ether.c b/drivers/net/failsafe/failsafe_ether.c
index dc4aba6e30b..56a0ecde4de 100644
--- a/drivers/net/failsafe/failsafe_ether.c
+++ b/drivers/net/failsafe/failsafe_ether.c
@@ -298,12 +298,9 @@ fs_dev_remove(struct sub_device *sdev)
 		/* fallthrough */
 	case DEV_PROBED:
 		ret = rte_dev_remove(sdev->dev);
-		if (ret < 0) {
+		if (ret < 0)
 			ERROR("Bus detach failed for sub_device %u",
 			      SUB_ID(sdev));
-		} else {
-			rte_eth_dev_release_port(ETH(sdev));
-		}
 		sdev->state = DEV_PARSED;
 		/* fallthrough */
 	case DEV_PARSED:
-- 
2.47.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-11-05 16:42:47.395658430 +0000
+++ 0063-net-failsafe-fix-double-release-of-sub-device-port.patch	2026-11-05 16:42:44.993062938 +0000
@@ -1 +1 @@
-From 10f27ba3efc4e95c7f9af5c34908b8c20c3d3a39 Mon Sep 17 00:00:00 2001
+From cc0d2c3b5cd83491b20b15b049f74fdbd367c690 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 10f27ba3efc4e95c7f9af5c34908b8c20c3d3a39 ]
+
@@ -17 +18,0 @@
-Cc: stable at dpdk.org
@@ -25 +26 @@
-index f0fd662c7b..1702b1a604 100644
+index dc4aba6e30b..56a0ecde4de 100644


More information about the stable mailing list