From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by dpdk.org (Postfix) with ESMTP id 8776C5B1E for ; Mon, 30 Jul 2018 18:21:05 +0200 (CEST) Received: from 1.general.paelzer.uk.vpn ([10.172.196.172] helo=lap.fritz.box) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1fkAsd-00009D-Hf; Mon, 30 Jul 2018 16:18:43 +0000 From: Christian Ehrhardt To: Remy Horton Cc: Ferruh Yigit , dpdk stable Date: Mon, 30 Jul 2018 18:13:34 +0200 Message-Id: <20180730161342.16566-169-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180730161342.16566-1-christian.ehrhardt@canonical.com> References: <20180730161342.16566-1-christian.ehrhardt@canonical.com> Subject: [dpdk-stable] patch 'metrics: add check for invalid key' has been queued to stable release 18.05.1 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: , X-List-Received-Date: Mon, 30 Jul 2018 16:21:05 -0000 Hi, FYI, your patch has been queued to stable release 18.05.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/01/18. So please shout if anyone has objections. Thanks. Christian Ehrhardt --- >>From 7df968d8fd82a7d1e3a18fd17687a3a702672bd7 Mon Sep 17 00:00:00 2001 From: Remy Horton Date: Fri, 6 Jul 2018 14:21:19 +0100 Subject: [PATCH] metrics: add check for invalid key [ upstream commit 50d2459fdde1916c2ebce1a3751ab2fa59c0766f ] This patchset adds a check to rte_metrics_update_values() that prevents the updating of metrics when presented with an invalid metric key. Previously, doing the latter could result in a crash. Fixes: 349950ddb9c5 ("metrics: add information metrics library") Signed-off-by: Remy Horton Acked-by: Ferruh Yigit --- lib/librte_metrics/rte_metrics.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/librte_metrics/rte_metrics.c b/lib/librte_metrics/rte_metrics.c index 258f0582c..b5638f553 100644 --- a/lib/librte_metrics/rte_metrics.c +++ b/lib/librte_metrics/rte_metrics.c @@ -159,6 +159,11 @@ rte_metrics_update_values(int port_id, stats = memzone->addr; rte_spinlock_lock(&stats->lock); + + if (key >= stats->cnt_stats) { + rte_spinlock_unlock(&stats->lock); + return -EINVAL; + } idx_metric = key; cnt_setsize = 1; while (idx_metric < stats->cnt_stats) { -- 2.17.1