patch 'compressdev: fix empty devargs parsing' has been queued to stable release 21.11.4

Kevin Traynor ktraynor at redhat.com
Wed Mar 15 15:36:18 CET 2023


Hi,

FYI, your patch has been queued to stable release 21.11.4

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

Thanks.

Kevin

---
>From cb72e899065dbc853f94ff5a6aa198c467f10b24 Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen at huawei.com>
Date: Thu, 2 Mar 2023 07:50:05 +0000
Subject: [PATCH] compressdev: fix empty devargs parsing

[ upstream commit bb27182482d61777de6a38b16a1d2c692c2c3f8b ]

The rte_kvargs_process() was used to parse KV pairs, it also supports
to parse 'only keys' (e.g. socket_id) type. And the callback function
parameter 'value' is NULL when parsed 'only keys'.

This patch fixes segment fault in rte_compressdev_pmd_parse_uint_arg()
when parse input args with 'only keys' (e.g. socket_id).

For a similar reason, this patch fixes
rte_compressdev_pmd_parse_name_arg().

Fixes: ed7dd94f7f66 ("compressdev: add basic device management")

Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
---
 lib/compressdev/rte_compressdev_pmd.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/compressdev/rte_compressdev_pmd.c b/lib/compressdev/rte_compressdev_pmd.c
index 7f500d76d4..6a11a396b7 100644
--- a/lib/compressdev/rte_compressdev_pmd.c
+++ b/lib/compressdev/rte_compressdev_pmd.c
@@ -21,4 +21,7 @@ rte_compressdev_pmd_parse_name_arg(const char *key __rte_unused,
 	int n;
 
+	if (value == NULL || extra_args == NULL)
+		return -EINVAL;
+
 	n = strlcpy(params->name, value, RTE_COMPRESSDEV_NAME_MAX_LEN);
 	if (n >= RTE_COMPRESSDEV_NAME_MAX_LEN)
@@ -38,4 +41,7 @@ rte_compressdev_pmd_parse_uint_arg(const char *key __rte_unused,
 	char *end;
 
+	if (value == NULL || extra_args == NULL)
+		return -EINVAL;
+
 	errno = 0;
 	i = strtol(value, &end, 10);
-- 
2.39.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-03-15 14:30:21.212075397 +0000
+++ 0025-compressdev-fix-empty-devargs-parsing.patch	2023-03-15 14:30:20.587123706 +0000
@@ -1 +1 @@
-From bb27182482d61777de6a38b16a1d2c692c2c3f8b Mon Sep 17 00:00:00 2001
+From cb72e899065dbc853f94ff5a6aa198c467f10b24 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bb27182482d61777de6a38b16a1d2c692c2c3f8b ]
+
@@ -17 +18,0 @@
-Cc: stable at dpdk.org
@@ -25 +26 @@
-index e139bc86e7..156bccd972 100644
+index 7f500d76d4..6a11a396b7 100644
@@ -28 +29 @@
-@@ -24,4 +24,7 @@ rte_compressdev_pmd_parse_name_arg(const char *key __rte_unused,
+@@ -21,4 +21,7 @@ rte_compressdev_pmd_parse_name_arg(const char *key __rte_unused,
@@ -36 +37 @@
-@@ -41,4 +44,7 @@ rte_compressdev_pmd_parse_uint_arg(const char *key __rte_unused,
+@@ -38,4 +41,7 @@ rte_compressdev_pmd_parse_uint_arg(const char *key __rte_unused,



More information about the stable mailing list