patch 'net/failsafe: fix device freeing' has been queued to stable release 21.11.2

Kevin Traynor ktraynor at redhat.com
Mon Jun 20 11:47:41 CEST 2022


Hi,

FYI, your patch has been queued to stable release 21.11.2

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/63bb35c3f358a75067f775d549fa82b68a28c08f

Thanks.

Kevin

---
>From 63bb35c3f358a75067f775d549fa82b68a28c08f Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian at huawei.com>
Date: Tue, 7 Jun 2022 14:50:49 +0800
Subject: [PATCH] net/failsafe: fix device freeing

[ upstream commit fd819cad0a266421ca9872570e923c2a7ae68183 ]

The PMD destroy function was calling the release function, which frees
dev->data->dev_private, and then tries to free PRIV(dev)->intr_handle,
which causes the heap use after free issue.

The free can be moved to before the release function is called.

Fixes: d61138d4f0e ("drivers: remove direct access to interrupt handle")

Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
---
 drivers/net/failsafe/failsafe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c
index 3c754a5f66..05cf533896 100644
--- a/drivers/net/failsafe/failsafe.c
+++ b/drivers/net/failsafe/failsafe.c
@@ -309,6 +309,6 @@ fs_rte_eth_free(const char *name)
 		return 0; /* port already released */
 	ret = failsafe_eth_dev_close(dev);
-	rte_eth_dev_release_port(dev);
 	rte_intr_instance_free(PRIV(dev)->intr_handle);
+	rte_eth_dev_release_port(dev);
 	return ret;
 }
-- 
2.34.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-06-20 10:46:27.967483912 +0100
+++ 0008-net-failsafe-fix-device-freeing.patch	2022-06-20 10:46:27.783146830 +0100
@@ -1 +1 @@
-From fd819cad0a266421ca9872570e923c2a7ae68183 Mon Sep 17 00:00:00 2001
+From 63bb35c3f358a75067f775d549fa82b68a28c08f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fd819cad0a266421ca9872570e923c2a7ae68183 ]
+
@@ -13 +14,0 @@
-Cc: stable at dpdk.org



More information about the stable mailing list