From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id DC6C3A046B for ; Tue, 23 Jul 2019 03:04:11 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CDB2D1BFEE; Tue, 23 Jul 2019 03:04:11 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 2047D1BFDE for ; Tue, 23 Jul 2019 03:04:10 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE2 (envelope-from yskoh@mellanox.com) with ESMTPS (AES256-SHA encrypted); 23 Jul 2019 04:04:09 +0300 Received: from scfae-sc-2.mti.labs.mlnx (scfae-sc-2.mti.labs.mlnx [10.101.0.96]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x6N11HgN026580; Tue, 23 Jul 2019 04:04:08 +0300 From: Yongseok Koh To: Stephen Hemminger Cc: Ferruh Yigit , dpdk stable Date: Mon, 22 Jul 2019 18:01:04 -0700 Message-Id: <20190723010115.6446-97-yskoh@mellanox.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190723010115.6446-1-yskoh@mellanox.com> References: <20190723010115.6446-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/ring: check length of ring name' has been queued to LTS release 17.11.7 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" 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 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 Reviewed-by: Ferruh Yigit --- 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 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@dpdk.org Signed-off-by: Stephen Hemminger Reviewed-by: Ferruh Yigit @@ -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++) {