From affb4d5c212957f3844a7bbd00a5f2ba703b8a33 Mon Sep 17 00:00:00 2001 From: Somnath Kotur Date: Tue, 22 Sep 2020 12:36:27 +0530 Subject: [PATCH] net/bnxt: fix shift operation In page_roundup() left shifting by more than 31 bits could have undefined behavior as the return value is int and in page_getenum() it is possible to return a value as high as 63. Fix that to cap the return value to less than 32. Coverity issue: 343463 Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for PF/VF") Cc: stable@dpdk.org Signed-off-by: Somnath Kotur Reviewed-by: Venkat Duvvuru Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_hwrm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index d0b820f149..577c5d1352 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -52,7 +52,7 @@ static int page_getenum(size_t size) if (size <= 1 << 30) return 30; PMD_DRV_LOG(ERR, "Page size %zu out of range\n", size); - return sizeof(void *) * 8 - 1; + return sizeof(int) * 8 - 1; } static int page_roundup(size_t size) -- 2.20.1