From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f193.google.com (mail-wr0-f193.google.com [209.85.128.193]) by dpdk.org (Postfix) with ESMTP id 05ECF1B249 for ; Mon, 30 Oct 2017 16:38:30 +0100 (CET) Received: by mail-wr0-f193.google.com with SMTP id w105so13079037wrc.0 for ; Mon, 30 Oct 2017 08:38:30 -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=2SsVQ6naZZlRmnLx9Mkf9YfB0b3dyC/KDWdoDI+8174=; b=VUfUxdFeQn0dh60Ju1wjNBFk0kudmI10z4DwT6BgH2SvfbY2VUb6rVPmptLFYAXikM nLUj5YRd2duvuyCm/upPifWJHmvAAxu1ZJlMQvmzleD6uxIaMs3XwJGHq2KyQmftq+t1 6yvgRWvO9AknuvyuxnWolMjgimWaT2bOtn+ZJhKOSjip/3v3J/Rumg2B/LDPaU/jcH9l v6TEdP9Uc3Kv3j8ztiV/MC6/kdyyUvtANGgQqdQ9eh6FbaBBTGw3uM0ORzBsFFErhVvM ujSEY/ohbj6POKHYHwSol5RDiCOgq7qR36weSLVvpWchzRLrmhMVOfQaczV4N2WSZZqo FAww== 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=2SsVQ6naZZlRmnLx9Mkf9YfB0b3dyC/KDWdoDI+8174=; b=NEPktrgQjUgn+JfDqzvRr7r0jVEC1pteVwjmbFcxBNi/x1hCGK7KY0VMM3idMLw0V9 Tr7/ikfrJWiu7M6s8dqxQrjBJZa6voTtJF3Rw5rsLz0fbk7pz0Lu1Te6npdk5eF3D5oQ 2K8YhvQF5ckA0k494ITDIJVibqLZRaC/o7ikbOtu5Q5ijpdljNaVKc82s2Y9J98ioOrM mdNAQV8LHRn1i69Z0H9E1jYNTcRIE2cORpeLT2nDZX6IpzsAOe/hncZ+AwJ4BKiF5CUU kwGvvTgGoEVWsL7oRuuhjkq8RkpE5xwmqaoiC5ttH3dEkoGDats1VRiLkvGiTqFFparp C8OQ== X-Gm-Message-State: AMCzsaWbEBXB7hDzbCgzveZFp6+1GA4l7/ao4xy7hG7R3O5Fr+TiOBdq L4clF+zhCswdEnXM38ktaA8= X-Google-Smtp-Source: ABhQp+TdMAQ1ko7LYW02xOzbvHnFELlMzdlx8D2L8enGqNGfQwFeLA70q6sU58LauIqIOCgfuRJOaQ== X-Received: by 10.223.202.1 with SMTP id o1mr7856923wrh.205.1509377910519; Mon, 30 Oct 2017 08:38:30 -0700 (PDT) Received: from localhost ([2a00:23c5:bef3:400:4a51:b7ff:fe0b:4749]) by smtp.gmail.com with ESMTPSA id k30sm28775110wrf.52.2017.10.30.08.38.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 30 Oct 2017 08:38:29 -0700 (PDT) From: luca.boccassi@gmail.com To: Slawomir Mrozowicz Cc: Michal Jastrzebski , dpdk stable Date: Mon, 30 Oct 2017 15:35:10 +0000 Message-Id: <20171030153511.13322-67-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 sched 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:31 -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 21e77ae83e5939c5f95fcdd464833b1e3896d93a Mon Sep 17 00:00:00 2001 From: Slawomir Mrozowicz Date: Wed, 20 Sep 2017 09:47:34 +0200 Subject: [PATCH] examples/performance-thread: fix out-of-bounds sched array [ upstream commit 72481c87ec80542cabf65fa8ad32ac381ee5ce4e ] Overrunning array schedcore of 128 8-byte elements at element index 128 using index core id. Fixed by correct check index lcoreid condition and change type of lcoreid to unsigned. Coverity issue: 143459, 143461 Fixes: 116819b9ed0d ("examples/performance-thread: add lthread subsystem") Signed-off-by: Slawomir Mrozowicz Acked-by: Michal Jastrzebski --- examples/performance-thread/common/lthread.h | 2 +- examples/performance-thread/common/lthread_sched.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/examples/performance-thread/common/lthread.h b/examples/performance-thread/common/lthread.h index 8c77af82e..01843ba5a 100644 --- a/examples/performance-thread/common/lthread.h +++ b/examples/performance-thread/common/lthread.h @@ -83,7 +83,7 @@ int _lthread_desched_sleep(struct lthread *lt); void _lthread_free(struct lthread *lt); -struct lthread_sched *_lthread_sched_get(int lcore_id); +struct lthread_sched *_lthread_sched_get(unsigned int lcore_id); struct lthread_stack *_stack_alloc(void); diff --git a/examples/performance-thread/common/lthread_sched.c b/examples/performance-thread/common/lthread_sched.c index c64c21ffb..fbda112f4 100644 --- a/examples/performance-thread/common/lthread_sched.c +++ b/examples/performance-thread/common/lthread_sched.c @@ -562,11 +562,14 @@ void lthread_run(void) * Return the scheduler for this lcore * */ -struct lthread_sched *_lthread_sched_get(int lcore_id) +struct lthread_sched *_lthread_sched_get(unsigned int lcore_id) { - if (lcore_id > LTHREAD_MAX_LCORES) - return NULL; - return schedcore[lcore_id]; + struct lthread_sched *res = NULL; + + if (lcore_id < LTHREAD_MAX_LCORES) + res = schedcore[lcore_id]; + + return res; } /* @@ -578,10 +581,9 @@ int lthread_set_affinity(unsigned lcoreid) struct lthread *lt = THIS_LTHREAD; struct lthread_sched *dest_sched; - if (unlikely(lcoreid > LTHREAD_MAX_LCORES)) + if (unlikely(lcoreid >= LTHREAD_MAX_LCORES)) return POSIX_ERRNO(EINVAL); - DIAG_EVENT(lt, LT_DIAG_LTHREAD_AFFINITY, lcoreid, 0); dest_sched = schedcore[lcoreid]; -- 2.11.0