From mboxrd@z Thu Jan 1 00:00:00 1970 From: Slawomir Mrozowicz Subject: [PATCH v4] examples/qos_sched: fix bad bit shift operation Date: Wed, 11 May 2016 10:48:05 +0200 Message-ID: <1462956485-3701-1-git-send-email-slawomirx.mrozowicz@intel.com> Cc: dev@dpdk.org, jasvinder.singh@intel.com, Slawomir Mrozowicz To: cristian.dumitrescu@intel.com Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 102E8C1C0 for ; Wed, 11 May 2016 10:42:52 +0200 (CEST) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Fix issue reported by Coverity. Coverity ID 30690: Bad bit shift operation large_shift: In expression 1ULL << i, left shifting by more than 63 bits has undefined behavior. The shift amount, i, is as much as 127. Fixes: de3cfa2c9823 ("sched: initial import") Signed-off-by: Slawomir Mrozowicz --- examples/qos_sched/args.c | 4 ++-- examples/qos_sched/main.h | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/qos_sched/args.c b/examples/qos_sched/args.c index 3e7fd08..354372d 100644 --- a/examples/qos_sched/args.c +++ b/examples/qos_sched/args.c @@ -123,7 +123,7 @@ app_eal_core_mask(void) uint64_t cm = 0; struct rte_config *cfg = rte_eal_get_configuration(); - for (i = 0; i < RTE_MAX_LCORE; i++) { + for (i = 0; i < APP_MAX_LCORE; i++) { if (cfg->lcore_role[i] == ROLE_RTE) cm |= (1ULL << i); } @@ -142,7 +142,7 @@ app_cpu_core_count(void) char path[PATH_MAX]; uint32_t ncores = 0; - for(i = 0; i < RTE_MAX_LCORE; i++) { + for (i = 0; i < APP_MAX_LCORE; i++) { len = snprintf(path, sizeof(path), SYS_CPU_DIR, i); if (len <= 0 || (unsigned)len >= sizeof(path)) continue; diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h index 82aa0fa..c7490c6 100644 --- a/examples/qos_sched/main.h +++ b/examples/qos_sched/main.h @@ -68,7 +68,10 @@ extern "C" { #define BURST_TX_DRAIN_US 100 -#define MAX_DATA_STREAMS (RTE_MAX_LCORE/2) +#ifndef APP_MAX_LCORE +#define APP_MAX_LCORE 64 +#endif +#define MAX_DATA_STREAMS (APP_MAX_LCORE/2) #define MAX_SCHED_SUBPORTS 8 #define MAX_SCHED_PIPES 4096 -- 1.9.1