!367 [sync] PR-365: fix empty devargs parsing
From: @openeuler-sync-bot Reviewed-by: @li-huisong Signed-off-by: @li-huisong
This commit is contained in:
commit
163bd598fb
51
0277-mem-fix-hugepage-info-mapping.patch
Normal file
51
0277-mem-fix-hugepage-info-mapping.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From 2d42f6d26a83262c9765c6db7dfca44c8c26d995 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Date: Mon, 6 Feb 2023 10:53:10 +0000
|
||||||
|
Subject: mem: fix hugepage info mapping
|
||||||
|
|
||||||
|
[ upstream commit 66e7ac416f3d62c5ee773ff02c115a24da9f1991 ]
|
||||||
|
|
||||||
|
The map_shared_memory() function should treat mmap MAP_FAILED as NULL
|
||||||
|
because callers compare it with NULL to determine whether the map is
|
||||||
|
failed.
|
||||||
|
|
||||||
|
Fixes: 764bf26873b9 ("add FreeBSD support")
|
||||||
|
Fixes: cb97d93e9d3b ("mem: share hugepage info primary and secondary")
|
||||||
|
Cc: stable@dpdk.org
|
||||||
|
|
||||||
|
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Reviewed-by: David Marchand <david.marchand@redhat.com>
|
||||||
|
---
|
||||||
|
lib/eal/freebsd/eal_hugepage_info.c | 2 +-
|
||||||
|
lib/eal/linux/eal_hugepage_info.c | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/eal/freebsd/eal_hugepage_info.c b/lib/eal/freebsd/eal_hugepage_info.c
|
||||||
|
index 9dbe375bd3..e58e618469 100644
|
||||||
|
--- a/lib/eal/freebsd/eal_hugepage_info.c
|
||||||
|
+++ b/lib/eal/freebsd/eal_hugepage_info.c
|
||||||
|
@@ -33,7 +33,7 @@ map_shared_memory(const char *filename, const size_t mem_size, int flags)
|
||||||
|
}
|
||||||
|
retval = mmap(NULL, mem_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
|
||||||
|
close(fd);
|
||||||
|
- return retval;
|
||||||
|
+ return retval == MAP_FAILED ? NULL : retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void *
|
||||||
|
diff --git a/lib/eal/linux/eal_hugepage_info.c b/lib/eal/linux/eal_hugepage_info.c
|
||||||
|
index 41acf180ee..6c76a36a0d 100644
|
||||||
|
--- a/lib/eal/linux/eal_hugepage_info.c
|
||||||
|
+++ b/lib/eal/linux/eal_hugepage_info.c
|
||||||
|
@@ -57,7 +57,7 @@ map_shared_memory(const char *filename, const size_t mem_size, int flags)
|
||||||
|
retval = mmap(NULL, mem_size, PROT_READ | PROT_WRITE,
|
||||||
|
MAP_SHARED, fd, 0);
|
||||||
|
close(fd);
|
||||||
|
- return retval;
|
||||||
|
+ return retval == MAP_FAILED ? NULL : retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void *
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
44
0278-raw-ifpga-base-fix-init-with-multi-process.patch
Normal file
44
0278-raw-ifpga-base-fix-init-with-multi-process.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
From 08ad2bc6e7fd4bc11b25011dbae48268828d372f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Date: Mon, 6 Feb 2023 10:53:11 +0000
|
||||||
|
Subject: raw/ifpga/base: fix init with multi-process
|
||||||
|
|
||||||
|
[ upstream commit e6a2804b77c5fbfd97d0fe05ec7f959a0404a380 ]
|
||||||
|
|
||||||
|
The MAP_FAILED should be used to determine whether the mapping is
|
||||||
|
successful.
|
||||||
|
|
||||||
|
Fixes: e41856b515ce ("raw/ifpga/base: enhance driver reliability in multi-process")
|
||||||
|
Cc: stable@dpdk.org
|
||||||
|
|
||||||
|
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
|
||||||
|
---
|
||||||
|
drivers/raw/ifpga/base/opae_hw_api.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/raw/ifpga/base/opae_hw_api.c b/drivers/raw/ifpga/base/opae_hw_api.c
|
||||||
|
index 11c9887c7f..45efe70473 100644
|
||||||
|
--- a/drivers/raw/ifpga/base/opae_hw_api.c
|
||||||
|
+++ b/drivers/raw/ifpga/base/opae_hw_api.c
|
||||||
|
@@ -380,7 +380,7 @@ static pthread_mutex_t *opae_adapter_mutex_open(struct opae_adapter *adapter)
|
||||||
|
PROT_READ | PROT_WRITE, MAP_SHARED,
|
||||||
|
shm_id, 0);
|
||||||
|
adapter->lock = (pthread_mutex_t *)ptr;
|
||||||
|
- if (ptr) {
|
||||||
|
+ if (ptr != MAP_FAILED) {
|
||||||
|
dev_info(NULL,
|
||||||
|
"shared memory %s address is %p\n",
|
||||||
|
shm_name, ptr);
|
||||||
|
@@ -499,7 +499,7 @@ static void *opae_adapter_shm_alloc(struct opae_adapter *adapter)
|
||||||
|
adapter->shm.size = size;
|
||||||
|
adapter->shm.ptr = mmap(NULL, size, PROT_READ | PROT_WRITE,
|
||||||
|
MAP_SHARED, shm_id, 0);
|
||||||
|
- if (adapter->shm.ptr) {
|
||||||
|
+ if (adapter->shm.ptr != MAP_FAILED) {
|
||||||
|
dev_info(NULL,
|
||||||
|
"shared memory %s address is %p\n",
|
||||||
|
shm_name, adapter->shm.ptr);
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
52
0279-compressdev-fix-empty-devargs-parsing.patch
Normal file
52
0279-compressdev-fix-empty-devargs-parsing.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
From 37b765efbca81e4aa81fcb685e7810398e800e29 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Date: Thu, 2 Mar 2023 07:50:05 +0000
|
||||||
|
Subject: 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")
|
||||||
|
Cc: stable@dpdk.org
|
||||||
|
|
||||||
|
Signed-off-by: Chengwen Feng <fengchengwen@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
|
||||||
|
@@ -20,6 +20,9 @@ rte_compressdev_pmd_parse_name_arg(const char *key __rte_unused,
|
||||||
|
struct rte_compressdev_pmd_init_params *params = extra_args;
|
||||||
|
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)
|
||||||
|
return -EINVAL;
|
||||||
|
@@ -37,6 +40,9 @@ rte_compressdev_pmd_parse_uint_arg(const char *key __rte_unused,
|
||||||
|
int i;
|
||||||
|
char *end;
|
||||||
|
|
||||||
|
+ if (value == NULL || extra_args == NULL)
|
||||||
|
+ return -EINVAL;
|
||||||
|
+
|
||||||
|
errno = 0;
|
||||||
|
i = strtol(value, &end, 10);
|
||||||
|
if (*end != 0 || errno != 0 || i < 0)
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
55
0280-cryptodev-fix-empty-devargs-parsing.patch
Normal file
55
0280-cryptodev-fix-empty-devargs-parsing.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
From 23320d21b4abc8f52c612768a8508443f77dfcd8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Date: Thu, 2 Mar 2023 07:50:07 +0000
|
||||||
|
Subject: cryptodev: fix empty devargs parsing
|
||||||
|
|
||||||
|
[ upstream commit 8146454c56636ba8af5263b57e1c4a9f67fd4a39 ]
|
||||||
|
|
||||||
|
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_cryptodev_pmd_parse_uint_arg()
|
||||||
|
when parse input args with 'only keys' (e.g. socket_id,
|
||||||
|
max_nb_queue_pairs).
|
||||||
|
|
||||||
|
For a similar reason, this patch fixes
|
||||||
|
rte_cryptodev_pmd_parse_name_arg().
|
||||||
|
|
||||||
|
Fixes: 9e6edea41805 ("cryptodev: add APIs to assist PMD initialisation")
|
||||||
|
Cc: stable@dpdk.org
|
||||||
|
|
||||||
|
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Acked-by: Akhil Goyal <gakhil@marvell.com>
|
||||||
|
---
|
||||||
|
lib/cryptodev/cryptodev_pmd.c | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/lib/cryptodev/cryptodev_pmd.c b/lib/cryptodev/cryptodev_pmd.c
|
||||||
|
index 739a0b3f34..9dab1ef7cd 100644
|
||||||
|
--- a/lib/cryptodev/cryptodev_pmd.c
|
||||||
|
+++ b/lib/cryptodev/cryptodev_pmd.c
|
||||||
|
@@ -19,6 +19,9 @@ rte_cryptodev_pmd_parse_name_arg(const char *key __rte_unused,
|
||||||
|
struct rte_cryptodev_pmd_init_params *params = extra_args;
|
||||||
|
int n;
|
||||||
|
|
||||||
|
+ if (value == NULL || extra_args == NULL)
|
||||||
|
+ return -EINVAL;
|
||||||
|
+
|
||||||
|
n = strlcpy(params->name, value, RTE_CRYPTODEV_NAME_MAX_LEN);
|
||||||
|
if (n >= RTE_CRYPTODEV_NAME_MAX_LEN)
|
||||||
|
return -EINVAL;
|
||||||
|
@@ -35,6 +38,10 @@ rte_cryptodev_pmd_parse_uint_arg(const char *key __rte_unused,
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
char *end;
|
||||||
|
+
|
||||||
|
+ if (value == NULL || extra_args == NULL)
|
||||||
|
+ return -EINVAL;
|
||||||
|
+
|
||||||
|
errno = 0;
|
||||||
|
|
||||||
|
i = strtol(value, &end, 10);
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
62
0281-net-hns3-fix-empty-devargs-parsing.patch
Normal file
62
0281-net-hns3-fix-empty-devargs-parsing.patch
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
From cd1064bf44f8da3286a48f3f3da7df88ae4fa645 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Date: Thu, 2 Mar 2023 07:50:09 +0000
|
||||||
|
Subject: net/hns3: fix empty devargs parsing
|
||||||
|
|
||||||
|
[ upstream commit 8e9bd29995ddb1205d90291a684bcf71599d6623 ]
|
||||||
|
|
||||||
|
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 when parse input args with 'only keys'
|
||||||
|
(e.g. rx_func_hint).
|
||||||
|
|
||||||
|
Fixes: a124f9e9591b ("net/hns3: add runtime config to select IO burst function")
|
||||||
|
Fixes: 70791213242e ("net/hns3: support masking device capability")
|
||||||
|
Fixes: 2fc3e696a7f1 ("net/hns3: add runtime config for mailbox limit time")
|
||||||
|
Cc: stable@dpdk.org
|
||||||
|
|
||||||
|
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Acked-by: Dongdong Liu <liudongdong3@huawei.com>
|
||||||
|
---
|
||||||
|
drivers/net/hns3/hns3_common.c | 9 +++++++++
|
||||||
|
1 file changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/net/hns3/hns3_common.c b/drivers/net/hns3/hns3_common.c
|
||||||
|
index 3c5e07f1bd..6697ecefe6 100644
|
||||||
|
--- a/drivers/net/hns3/hns3_common.c
|
||||||
|
+++ b/drivers/net/hns3/hns3_common.c
|
||||||
|
@@ -161,6 +161,9 @@ hns3_parse_io_hint_func(const char *key, const char *value, void *extra_args)
|
||||||
|
|
||||||
|
RTE_SET_USED(key);
|
||||||
|
|
||||||
|
+ if (value == NULL || extra_args == NULL)
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
if (strcmp(value, "vec") == 0)
|
||||||
|
hint = HNS3_IO_FUNC_HINT_VEC;
|
||||||
|
else if (strcmp(value, "sve") == 0)
|
||||||
|
@@ -201,6 +204,9 @@ hns3_parse_dev_caps_mask(const char *key, const char *value, void *extra_args)
|
||||||
|
|
||||||
|
RTE_SET_USED(key);
|
||||||
|
|
||||||
|
+ if (value == NULL || extra_args == NULL)
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
val = strtoull(value, NULL, HNS3_CONVERT_TO_HEXADECIMAL);
|
||||||
|
*(uint64_t *)extra_args = val;
|
||||||
|
|
||||||
|
@@ -214,6 +220,9 @@ hns3_parse_mbx_time_limit(const char *key, const char *value, void *extra_args)
|
||||||
|
|
||||||
|
RTE_SET_USED(key);
|
||||||
|
|
||||||
|
+ if (value == NULL || extra_args == NULL)
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
val = strtoul(value, NULL, HNS3_CONVERT_TO_DECIMAL);
|
||||||
|
|
||||||
|
/*
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
57
0282-net-virtio-fix-empty-devargs-parsing.patch
Normal file
57
0282-net-virtio-fix-empty-devargs-parsing.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
From 51a50c25f5884df574cb254ee92de23bc821c0b4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Date: Thu, 2 Mar 2023 07:50:10 +0000
|
||||||
|
Subject: net/virtio: fix empty devargs parsing
|
||||||
|
|
||||||
|
[ upstream commit 1c1b35b59b4cee8836f34498b7c55b49de39d7b3 ]
|
||||||
|
|
||||||
|
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 when parse input args with 'only keys'
|
||||||
|
(e.g. vectorized,vdpa).
|
||||||
|
|
||||||
|
Fixes: 4710e16a4a7b ("net/virtio: add parameter to enable vectorized path")
|
||||||
|
Fixes: 44d7b2e87b69 ("net/virtio: refactor devargs parsing")
|
||||||
|
Fixes: 440f03c25378 ("net/virtio: skip device probe in vDPA mode")
|
||||||
|
Cc: stable@dpdk.org
|
||||||
|
|
||||||
|
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
|
||||||
|
---
|
||||||
|
drivers/net/virtio/virtio_ethdev.c | 3 +++
|
||||||
|
drivers/net/virtio/virtio_pci_ethdev.c | 3 +++
|
||||||
|
2 files changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
|
||||||
|
index a38b15d01c..c22b2f2889 100644
|
||||||
|
--- a/drivers/net/virtio/virtio_ethdev.c
|
||||||
|
+++ b/drivers/net/virtio/virtio_ethdev.c
|
||||||
|
@@ -2474,6 +2474,9 @@ virtio_dev_speed_capa_get(uint32_t speed)
|
||||||
|
static int vectorized_check_handler(__rte_unused const char *key,
|
||||||
|
const char *value, void *ret_val)
|
||||||
|
{
|
||||||
|
+ if (value == NULL || ret_val == NULL)
|
||||||
|
+ return -EINVAL;
|
||||||
|
+
|
||||||
|
if (strcmp(value, "1") == 0)
|
||||||
|
*(int *)ret_val = 1;
|
||||||
|
else
|
||||||
|
diff --git a/drivers/net/virtio/virtio_pci_ethdev.c b/drivers/net/virtio/virtio_pci_ethdev.c
|
||||||
|
index 54645dc62e..de7b1ef344 100644
|
||||||
|
--- a/drivers/net/virtio/virtio_pci_ethdev.c
|
||||||
|
+++ b/drivers/net/virtio/virtio_pci_ethdev.c
|
||||||
|
@@ -138,6 +138,9 @@ eth_virtio_pci_uninit(struct rte_eth_dev *eth_dev)
|
||||||
|
static int vdpa_check_handler(__rte_unused const char *key,
|
||||||
|
const char *value, void *ret_val)
|
||||||
|
{
|
||||||
|
+ if (value == NULL || ret_val == NULL)
|
||||||
|
+ return -EINVAL;
|
||||||
|
+
|
||||||
|
if (strcmp(value, "1") == 0)
|
||||||
|
*(int *)ret_val = 1;
|
||||||
|
else
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
46
0283-dma-skeleton-fix-empty-devargs-parsing.patch
Normal file
46
0283-dma-skeleton-fix-empty-devargs-parsing.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
From 9db4a191823cb2dec68c4be50bb1143c141da22c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Date: Thu, 2 Mar 2023 07:50:11 +0000
|
||||||
|
Subject: dma/skeleton: fix empty devargs parsing
|
||||||
|
|
||||||
|
[ upstream commit e0e5dd0450db22fc7712da4b5a8e6fd6e081c870 ]
|
||||||
|
|
||||||
|
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 when parse input args with 'only keys'
|
||||||
|
(e.g. lcore).
|
||||||
|
|
||||||
|
Fixes: 05d5fc66a269 ("dma/skeleton: introduce skeleton driver")
|
||||||
|
Cc: stable@dpdk.org
|
||||||
|
|
||||||
|
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
---
|
||||||
|
drivers/dma/skeleton/skeleton_dmadev.c | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/dma/skeleton/skeleton_dmadev.c b/drivers/dma/skeleton/skeleton_dmadev.c
|
||||||
|
index 81cbdd286e..67e0357cf0 100644
|
||||||
|
--- a/drivers/dma/skeleton/skeleton_dmadev.c
|
||||||
|
+++ b/drivers/dma/skeleton/skeleton_dmadev.c
|
||||||
|
@@ -500,9 +500,15 @@ skeldma_parse_lcore(const char *key __rte_unused,
|
||||||
|
const char *value,
|
||||||
|
void *opaque)
|
||||||
|
{
|
||||||
|
- int lcore_id = atoi(value);
|
||||||
|
+ int lcore_id;
|
||||||
|
+
|
||||||
|
+ if (value == NULL || opaque == NULL)
|
||||||
|
+ return -EINVAL;
|
||||||
|
+
|
||||||
|
+ lcore_id = atoi(value);
|
||||||
|
if (lcore_id >= 0 && lcore_id < RTE_MAX_LCORE)
|
||||||
|
*(int *)opaque = lcore_id;
|
||||||
|
+
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
38
0284-raw-skeleton-fix-empty-devargs-parsing.patch
Normal file
38
0284-raw-skeleton-fix-empty-devargs-parsing.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From db5368482035c920449a75d336afd3622044ee89 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
Date: Thu, 2 Mar 2023 07:50:12 +0000
|
||||||
|
Subject: raw/skeleton: fix empty devargs parsing
|
||||||
|
|
||||||
|
[ upstream commit 11da6149224a8de53d2ddd2aacba7b158cc4e3b4 ]
|
||||||
|
|
||||||
|
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 when parse input args with 'only keys'
|
||||||
|
(e.g. self_test).
|
||||||
|
|
||||||
|
Fixes: 55ca1b0f2151 ("raw/skeleton: add test cases")
|
||||||
|
Cc: stable@dpdk.org
|
||||||
|
|
||||||
|
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
|
||||||
|
---
|
||||||
|
drivers/raw/skeleton/skeleton_rawdev.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/raw/skeleton/skeleton_rawdev.c b/drivers/raw/skeleton/skeleton_rawdev.c
|
||||||
|
index 16ecae3d92..a49e000146 100644
|
||||||
|
--- a/drivers/raw/skeleton/skeleton_rawdev.c
|
||||||
|
+++ b/drivers/raw/skeleton/skeleton_rawdev.c
|
||||||
|
@@ -659,6 +659,8 @@ skeldev_get_selftest(const char *key __rte_unused,
|
||||||
|
void *opaque)
|
||||||
|
{
|
||||||
|
int *flag = opaque;
|
||||||
|
+ if (value == NULL || opaque == NULL)
|
||||||
|
+ return -EINVAL;
|
||||||
|
*flag = atoi(value);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
22
dpdk.spec
22
dpdk.spec
@ -1,6 +1,6 @@
|
|||||||
Name: dpdk
|
Name: dpdk
|
||||||
Version: 21.11
|
Version: 21.11
|
||||||
Release: 41
|
Release: 42
|
||||||
Packager: packaging@6wind.com
|
Packager: packaging@6wind.com
|
||||||
URL: http://dpdk.org
|
URL: http://dpdk.org
|
||||||
%global source_version 21.11
|
%global source_version 21.11
|
||||||
@ -295,6 +295,14 @@ Patch9273: 0273-cryptodev-fix-telemetry-data-truncation.patch
|
|||||||
Patch9274: 0274-mem-fix-telemetry-data-truncation.patch
|
Patch9274: 0274-mem-fix-telemetry-data-truncation.patch
|
||||||
Patch9275: 0275-telemetry-support-adding-integer-as-hexadecimal.patch
|
Patch9275: 0275-telemetry-support-adding-integer-as-hexadecimal.patch
|
||||||
Patch9276: 0276-ethdev-get-capabilities-from-telemetry-in-hexadecima.patch
|
Patch9276: 0276-ethdev-get-capabilities-from-telemetry-in-hexadecima.patch
|
||||||
|
Patch9277: 0277-mem-fix-hugepage-info-mapping.patch
|
||||||
|
Patch9278: 0278-raw-ifpga-base-fix-init-with-multi-process.patch
|
||||||
|
Patch9279: 0279-compressdev-fix-empty-devargs-parsing.patch
|
||||||
|
Patch9280: 0280-cryptodev-fix-empty-devargs-parsing.patch
|
||||||
|
Patch9281: 0281-net-hns3-fix-empty-devargs-parsing.patch
|
||||||
|
Patch9282: 0282-net-virtio-fix-empty-devargs-parsing.patch
|
||||||
|
Patch9283: 0283-dma-skeleton-fix-empty-devargs-parsing.patch
|
||||||
|
Patch9284: 0284-raw-skeleton-fix-empty-devargs-parsing.patch
|
||||||
|
|
||||||
Summary: Data Plane Development Kit core
|
Summary: Data Plane Development Kit core
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
@ -442,6 +450,18 @@ strip -g $RPM_BUILD_ROOT/lib/modules/%{kern_devel_ver}/extra/dpdk/igb_uio.ko
|
|||||||
/usr/sbin/depmod
|
/usr/sbin/depmod
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Apr 27 2023 chenjiji <chenjiji09@163.com> - 21.11-42
|
||||||
|
- fix empty devargs parsing
|
||||||
|
Sync some patchs from upstreaming and modifies are as
|
||||||
|
follow:
|
||||||
|
1. The rte_kvargs_process() was used to parse KV pairs, it
|
||||||
|
also supports to parse 'only keys' type. And the callback
|
||||||
|
function parameter 'value' is NULL when parsed 'only keys'.
|
||||||
|
This patch fixes segment fault when parse input args with
|
||||||
|
'only keys'.
|
||||||
|
2. The MAP_FAILED should be used to determine whether the
|
||||||
|
mapping is successful but not NULL. This patch fix it.
|
||||||
|
|
||||||
* Fri Apr 21 2023 chenjiji <chenjiji09@163.com> - 21.11-41
|
* Fri Apr 21 2023 chenjiji <chenjiji09@163.com> - 21.11-41
|
||||||
- Telemetry: support display as hexadecimal
|
- Telemetry: support display as hexadecimal
|
||||||
Sync some patchs from upstreaming for telemetry and modifies
|
Sync some patchs from upstreaming for telemetry and modifies
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user