[dpdk-stable] patch 'net/ring: check length of ring name' has been queued to LTS release 18.11.2

Kevin Traynor ktraynor at redhat.com
Wed May 8 18:02:18 CEST 2019


Hi,

FYI, your patch has been queued to LTS release 18.11.2

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/b3dfc995008a8c2f85d65715378b1fb71e4ce989

Thanks.

Kevin Traynor

---
>From b3dfc995008a8c2f85d65715378b1fb71e4ce989 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 e461fea8b..bc29795a7 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -384,5 +384,10 @@ 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);
@@ -418,5 +423,13 @@ eth_dev_ring_create(const char *name, const unsigned int numa_node,
 
 	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,
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-05-08 16:33:58.528356960 +0100
+++ 0021-net-ring-check-length-of-ring-name.patch	2019-05-08 16:33:57.395578700 +0100
@@ -1 +1 @@
-From 70a6aeb4639b633bc322834bb6f07b6c45c7e52b Mon Sep 17 00:00:00 2001
+From b3dfc995008a8c2f85d65715378b1fb71e4ce989 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 70a6aeb4639b633bc322834bb6f07b6c45c7e52b ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -20 +21 @@
-index 0355f2b7c..979993fd3 100644
+index e461fea8b..bc29795a7 100644


More information about the stable mailing list