From: Somnath Kotur Date: Tue, 22 Sep 2020 07:06:27 +0000 (+0530) Subject: net/bnxt: fix shift operation X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=affb4d5c212957f3844a7bbd00a5f2ba703b8a33;p=dpdk.git 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 --- 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)