From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by dpdk.org (Postfix) with ESMTP id 568CF1B249 for ; Mon, 30 Oct 2017 16:38:32 +0100 (CET) Received: by mail-wm0-f68.google.com with SMTP id r68so17332958wmr.3 for ; Mon, 30 Oct 2017 08:38:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=y/gPfVPK18aSwB9JGVujQQjdyq9lnu8YGTqRmSw+SgA=; b=uuQSOIpMH7lJy+6tWGvWoRe1qdw4IqwrHQ94MkD5efHmUK87GDLB1Jw8q3Lcie3+DT RsTSN2GtQmCe4nasHIiHyLBnHF9pc07tRQjyT8OTTFXFJZO06ZCg51DpmgJpGpkZbK0V 0U52WgyXn7dwxPCgJ2hgIoBdJrVB0ruoSi+bT3OmGbb3x2vqy7MmVrv2CTe5+Ixt9B4O izbKTK8p/4cqCnJLr8P7tttFPKm+xLLLJ57eaF/1daEVaJSLSkqI0PPkyhiRCQyWXezL lnNpWlXos+P8+fJnQQOXu/u4mtscX9l4AbO8PndZ9qYgMbBQ2gSYMOpo+V+vPzQ7P83Q tWeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=y/gPfVPK18aSwB9JGVujQQjdyq9lnu8YGTqRmSw+SgA=; b=PConmhXZ3myBVNebiqYmiCzE7NzRiY5tcGRvjcJViLUMODlwBP7UsW830iBTga+sPD EqppQ+8qUCD95sjb9TI/N4V+7vhFj/befUlO8wF9wLkT4G+cg0+wSRCj+IIxK1JQneit IUcvpJ7t43OwQ2uxKkjEesOEjegWgHwyKqY7kyEE1XuWD8C7QlHXdWEkM8cpCjkCNCIn qcniTHf9Wr9OE2hZEFhRL03l3BvTF2clnxnU4qBYCBtdPKCFE7XKePtlp+eqG6/IWG32 VE3I+k+PcPdgBeTPsuPI5VjvDlVRLFb99ptU30nRWpBJMNZRnoEkqu4fb1IZvk51GBO3 jtBQ== X-Gm-Message-State: AMCzsaXEb/qZXazDj4CsubG2eY5/nJk/e8ArLZtzHOUh2j7V/JoVFLi5 NIuYGxnjZY5NLj66G1VLRY4= X-Google-Smtp-Source: ABhQp+RxptkbBJoz7qMjdPH717C7W+Hpon8dlOVMsrDdr2wt4yWb8Nma2PatG5jCp8VoiUkgjDX/ug== X-Received: by 10.28.101.4 with SMTP id z4mr4340408wmb.77.1509377911867; Mon, 30 Oct 2017 08:38:31 -0700 (PDT) Received: from localhost ([2a00:23c5:bef3:400:4a51:b7ff:fe0b:4749]) by smtp.gmail.com with ESMTPSA id a13sm9503471wrf.48.2017.10.30.08.38.30 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 30 Oct 2017 08:38:31 -0700 (PDT) From: luca.boccassi@gmail.com To: Slawomir Mrozowicz Cc: Michal Jastrzebski , dpdk stable Date: Mon, 30 Oct 2017 15:35:11 +0000 Message-Id: <20171030153511.13322-68-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171030153511.13322-1-luca.boccassi@gmail.com> References: <20171030153511.13322-1-luca.boccassi@gmail.com> Subject: [dpdk-stable] patch 'examples/performance-thread: fix out-of-bounds tls array' has been queued to LTS release 16.11.4 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 Oct 2017 15:38:32 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/01/17. So please shout if anyone has objections. Thanks. Kind regards, Luca Boccassi --- >>From 5ab17b0175e2f8c25292168b83b177501af8e19e Mon Sep 17 00:00:00 2001 From: Slawomir Mrozowicz Date: Wed, 20 Sep 2017 10:20:24 +0200 Subject: [PATCH] examples/performance-thread: fix out-of-bounds tls array [ upstream commit c874523dc9fc9c384a760eb5db8c6f295185e5e3 ] Overrunning array per_lcore_this_sched->current_lthread->tls->data of 1024 8-byte elements at element index 1024 using index k. Fixed by correct check k condition. Coverity issue: 143462, 143463 Fixes: 116819b9ed0d ("examples/performance-thread: add lthread subsystem") Signed-off-by: Slawomir Mrozowicz Acked-by: Michal Jastrzebski --- examples/performance-thread/common/lthread_tls.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/performance-thread/common/lthread_tls.c b/examples/performance-thread/common/lthread_tls.c index 6876f831b..e58388b99 100644 --- a/examples/performance-thread/common/lthread_tls.c +++ b/examples/performance-thread/common/lthread_tls.c @@ -199,11 +199,12 @@ void _lthread_tls_destroy(struct lthread *lt) void *lthread_getspecific(unsigned int k) { + void *res = NULL; - if (k > LTHREAD_MAX_KEYS) - return NULL; + if (k < LTHREAD_MAX_KEYS) + res = THIS_LTHREAD->tls->data[k]; - return THIS_LTHREAD->tls->data[k]; + return res; } /* @@ -213,7 +214,7 @@ void */ int lthread_setspecific(unsigned int k, const void *data) { - if (k > LTHREAD_MAX_KEYS) + if (k >= LTHREAD_MAX_KEYS) return POSIX_ERRNO(EINVAL); int n = THIS_LTHREAD->tls->nb_keys_inuse; -- 2.11.0