Coverity: mlx5_wq_cyc_wqe_dump(): Integer handling issues
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):
Addresses-Coverity-ID: 1487843 ("Integer handling issues")
Thanks for your attention!
Signature · 1 line
Coverity-bot