From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <slawomirx.mrozowicz@intel.com>
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by dpdk.org (Postfix) with ESMTP id 102E8C1C0
 for <dev@dpdk.org>; Wed, 11 May 2016 10:42:52 +0200 (CEST)
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
 by fmsmga101.fm.intel.com with ESMTP; 11 May 2016 01:42:51 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.24,608,1455004800"; d="scan'208";a="977326616"
Received: from gklab-246-018.igk.intel.com (HELO stargo) ([10.217.246.18])
 by fmsmga002.fm.intel.com with SMTP; 11 May 2016 01:42:49 -0700
Received: by stargo (sSMTP sendmail emulation); Wed, 11 May 2016 10:48:09 +0200
From: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
To: cristian.dumitrescu@intel.com
Cc: dev@dpdk.org, jasvinder.singh@intel.com,
 Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Date: Wed, 11 May 2016 10:48:05 +0200
Message-Id: <1462956485-3701-1-git-send-email-slawomirx.mrozowicz@intel.com>
X-Mailer: git-send-email 1.9.1
Subject: [dpdk-dev] [PATCH v4] examples/qos_sched: fix bad bit shift
	operation
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 11 May 2016 08:42:53 -0000

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 <slawomirx.mrozowicz@intel.com>
---
 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