patch 'pdump: do not allow enable/disable in primary process' has been queued to stable release 20.11.7

luca.boccassi at gmail.com luca.boccassi at gmail.com
Sat Nov 5 18:11:06 CET 2022


Hi,

FYI, your patch has been queued to stable release 20.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 11/07/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/a141f0ff2a7be3efd8744749100cabe0ba6cc0e6

Thanks.

Luca Boccassi

---
>From a141f0ff2a7be3efd8744749100cabe0ba6cc0e6 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen at networkplumber.org>
Date: Wed, 19 Oct 2022 09:37:33 -0700
Subject: [PATCH] pdump: do not allow enable/disable in primary process
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 8a0cf0c455dcfff2e7cc6b76d4b3674a9c11521f ]

Attempts to enable or disable pdump in primary process
will fail with core dump because it is not valid to call
rte_mp_request_sync() unless in a secondary process.

Trap the error in the common code used for both enable
and disable requests.

Fixes: 660098d61f57 ("pdump: use generic multi-process channel")

Reported-by: Sylvia Grundwürmer <sylvia.grundwuermer at b-plus.com>
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
 lib/librte_pdump/rte_pdump.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c
index b3c8d5ce43..1ef1525ff1 100644
--- a/lib/librte_pdump/rte_pdump.c
+++ b/lib/librte_pdump/rte_pdump.c
@@ -442,6 +442,12 @@ pdump_prepare_client_request(char *device, uint16_t queue,
 	struct pdump_request *req = (struct pdump_request *)mp_req.param;
 	struct pdump_response *resp;
 
+	if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
+		PDUMP_LOG(ERR,
+				"pdump enable/disable not allowed in primary process\n");
+		return -EINVAL;
+	}
+
 	req->ver = 1;
 	req->flags = flags;
 	req->op = operation;
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-05 17:11:09.350821369 +0000
+++ 0007-pdump-do-not-allow-enable-disable-in-primary-process.patch	2022-11-05 17:11:08.578940581 +0000
@@ -1 +1 @@
-From 8a0cf0c455dcfff2e7cc6b76d4b3674a9c11521f Mon Sep 17 00:00:00 2001
+From a141f0ff2a7be3efd8744749100cabe0ba6cc0e6 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 8a0cf0c455dcfff2e7cc6b76d4b3674a9c11521f ]
+
@@ -17 +18,0 @@
-Cc: stable at dpdk.org
@@ -22 +23 @@
- lib/pdump/rte_pdump.c | 6 ++++++
+ lib/librte_pdump/rte_pdump.c | 6 ++++++
@@ -25,5 +26,5 @@
-diff --git a/lib/pdump/rte_pdump.c b/lib/pdump/rte_pdump.c
-index 98dcbc037b..a81544cb57 100644
---- a/lib/pdump/rte_pdump.c
-+++ b/lib/pdump/rte_pdump.c
-@@ -537,6 +537,12 @@ pdump_prepare_client_request(const char *device, uint16_t queue,
+diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c
+index b3c8d5ce43..1ef1525ff1 100644
+--- a/lib/librte_pdump/rte_pdump.c
++++ b/lib/librte_pdump/rte_pdump.c
+@@ -442,6 +442,12 @@ pdump_prepare_client_request(char *device, uint16_t queue,
@@ -35 +36 @@
-+			  "pdump enable/disable not allowed in primary process\n");
++				"pdump enable/disable not allowed in primary process\n");
@@ -39,3 +40,3 @@
- 	memset(req, 0, sizeof(*req));
- 
- 	req->ver = (flags & RTE_PDUMP_FLAG_PCAPNG) ? V2 : V1;
+ 	req->ver = 1;
+ 	req->flags = flags;
+ 	req->op = operation;


More information about the stable mailing list