From a8c778f401fad2fa2a6c7c95e1d275611ecdf762 Mon Sep 17 00:00:00 2001 From: "John W. Linville" Date: Thu, 29 Sep 2016 13:39:36 -0400 Subject: [PATCH] net/bnxt: fix bit shift size Some(?) compilers will treat the unmarked constant 1 as a 32-bit integer, but the shift operation is in a loop that could run up to 63 times -- undefined behavior! Coverity issue: 127546 Fixes: 778b759ba10e ("net/bnxt: add MAC address") Signed-off-by: John W. Linville Acked-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 427aa6901d..4099a5ea17 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -514,7 +514,7 @@ static void bnxt_mac_addr_remove_op(struct rte_eth_dev *eth_dev, * remove the corresponding MAC addr filter */ for (i = 0; i < MAX_FF_POOLS; i++) { - if (!(pool_mask & (1 << i))) + if (!(pool_mask & (1ULL << i))) continue; STAILQ_FOREACH(vnic, &bp->ff_pool[i], next) { -- 2.20.1