Subject: Coverity: mlx5_wq_cyc_wqe_dump(): Integer handling issues

From: coverity-bot <[email-masked]>
Date: Mon, 11 Nov 2019 17:35:40 -0800

Hello!

This is an experimental automated report about issues detected by Coverity
from a scan of next-20191108 as part of the linux-next weekly scan project:
https://scan.coverity.com/projects/linux-next-weekly-scan

You're getting this email because you were associated with the identified
lines of code (noted below) that were touched by recent commits:

130c7b46c93d ("net/mlx5e: TX, Dump WQs wqe descriptors on CQE with error events")

Coverity reported the following:

*** CID 1487843:  Integer handling issues  (SIGN_EXTENSION)
/drivers/net/ethernet/mellanox/mlx5/core/wq.c: 89 in mlx5_wq_cyc_wqe_dump()
83
84     	if (!net_ratelimit())
85     		return;
86
87     	nstrides = max_t(u8, nstrides, 1);
88
vvv     CID 1487843:  Integer handling issues  (SIGN_EXTENSION)
vvv     Suspicious implicit sign extension: "nstrides" with type "u8" (8 bits, unsigned) is promoted in "nstrides << wq->fbc.log_stride" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned).  If "nstrides << wq->fbc.log_stride" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1.
89     	len = nstrides << wq->fbc.log_stride;
90     	wqe = mlx5_wq_cyc_get_wqe(wq, ix);
91
92     	pr_info("WQE DUMP: WQ size %d WQ cur size %d, WQE index 0x%x, len: %ld\n",
93     		mlx5_wq_cyc_get_size(wq), wq->cur_sz, ix, len);
94     	print_hex_dump(KERN_WARNING, "", DUMP_PREFIX_OFFSET, 16, 1, wqe, len, false);

If this is a false positive, please let us know so we can mark it as
such, or teach the Coverity rules to be smarter. If not, please make
sure fixes get into linux-next. :) For patches fixing this, please
include these lines (but double-check the "Fixes" first):

Reported-by: coverity-bot <[email-masked]>
Addresses-Coverity-ID: 1487843 ("Integer handling issues")
Fixes: 130c7b46c93d ("net/mlx5e: TX, Dump WQs wqe descriptors on CQE with error events")

Thanks for your attention!

-- 
Coverity-bot