[PATCH] pdump: do not allow enable/disable in primary process
Stephen Hemminger
stephen at networkplumber.org
Wed Oct 19 18:37:33 CEST 2022
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.
Reported-by: Sylvia Grundwürmer <sylvia.grundwuermer at b-plus.com>
Fixes: 660098d61f57 ("pdump: use generic multi-process channel")
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
lib/pdump/rte_pdump.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/lib/pdump/rte_pdump.c b/lib/pdump/rte_pdump.c
index 98dcbc037bb8..a81544cb5772 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,
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;
+ }
+
memset(req, 0, sizeof(*req));
req->ver = (flags & RTE_PDUMP_FLAG_PCAPNG) ? V2 : V1;
--
2.35.1
More information about the dev
mailing list