[dpdk-stable] patch 'net/ring: check length of ring name' has been queued to LTS release 17.11.7
Yongseok Koh
yskoh at mellanox.com
Tue Jul 23 03:01:04 CEST 2019
Hi,
FYI, your patch has been queued to LTS release 17.11.7
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.
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.
Thanks.
Yongseok
---
>From 43d68cd793f0656b608148826380738951b2340c Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen at networkplumber.org>
Date: Tue, 23 Apr 2019 09:53:35 -0700
Subject: [PATCH] net/ring: check length of ring name
[ upstream commit 70a6aeb4639b633bc322834bb6f07b6c45c7e52b ]
The ring name is passed in as part of this drivers API, but it
doesn't check that the name is not truncated.
Fixes: 96cb19521147 ("net/ring: use EAL APIs in PMD specific API")
Fixes: e1e4017751f1 ("ring: add new driver")
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
drivers/net/ring/rte_eth_ring.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index 781ca3cca8..da165152a6 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -400,7 +400,12 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
snprintf(args_str, sizeof(args_str), "%s=%p",
ETH_RING_INTERNAL_ARG, &args);
- snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name);
+
+ ret = snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name);
+ if (ret >= (int)sizeof(ring_name)) {
+ rte_errno = ENAMETOOLONG;
+ return -1;
+ }
ret = rte_vdev_init(ring_name, args_str);
if (ret) {
@@ -434,7 +439,15 @@ eth_dev_ring_create(const char *name, const unsigned numa_node,
RTE_PMD_RING_MAX_TX_RINGS);
for (i = 0; i < num_rings; i++) {
- snprintf(rng_name, sizeof(rng_name), "ETH_RXTX%u_%s", i, name);
+ int cc;
+
+ cc = snprintf(rng_name, sizeof(rng_name),
+ "ETH_RXTX%u_%s", i, name);
+ if (cc >= (int)sizeof(rng_name)) {
+ rte_errno = ENAMETOOLONG;
+ return -1;
+ }
+
rxtx[i] = (action == DEV_CREATE) ?
rte_ring_create(rng_name, 1024, numa_node,
RING_F_SP_ENQ|RING_F_SC_DEQ) :
--
2.21.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-07-22 17:55:11.706342667 -0700
+++ 0097-net-ring-check-length-of-ring-name.patch 2019-07-22 17:55:06.471476000 -0700
@@ -1,14 +1,15 @@
-From 70a6aeb4639b633bc322834bb6f07b6c45c7e52b Mon Sep 17 00:00:00 2001
+From 43d68cd793f0656b608148826380738951b2340c Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen at networkplumber.org>
Date: Tue, 23 Apr 2019 09:53:35 -0700
Subject: [PATCH] net/ring: check length of ring name
+[ upstream commit 70a6aeb4639b633bc322834bb6f07b6c45c7e52b ]
+
The ring name is passed in as part of this drivers API, but it
doesn't check that the name is not truncated.
Fixes: 96cb19521147 ("net/ring: use EAL APIs in PMD specific API")
Fixes: e1e4017751f1 ("ring: add new driver")
-Cc: stable at dpdk.org
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
@@ -17,10 +18,10 @@
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
-index 0355f2b7c4..979993fd3e 100644
+index 781ca3cca8..da165152a6 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
-@@ -383,7 +383,12 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
+@@ -400,7 +400,12 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
snprintf(args_str, sizeof(args_str), "%s=%p",
ETH_RING_INTERNAL_ARG, &args);
@@ -34,7 +35,7 @@
ret = rte_vdev_init(ring_name, args_str);
if (ret) {
-@@ -417,7 +422,15 @@ eth_dev_ring_create(const char *name, const unsigned int numa_node,
+@@ -434,7 +439,15 @@ eth_dev_ring_create(const char *name, const unsigned numa_node,
RTE_PMD_RING_MAX_TX_RINGS);
for (i = 0; i < num_rings; i++) {
More information about the stable
mailing list