-----Original Message-----
From: <[email protected]> on behalf of Colin King
<[email protected]>
Date: Saturday, 4 May 2019 at 10:18 PM
To: "[email protected]"
<[email protected]>, "James E . J . Bottomley"
<[email protected]>, "Martin K . Petersen" <[email protected]>,
"[email protected]" <[email protected]>
Cc: "[email protected]" <[email protected]>,
"[email protected]" <[email protected]>
Subject: [PATCH] scsi: bnx2fc: fix incorrect cast to u64 on shift operation

>From: Colin Ian King <[email protected]>
>
>Currently an int is being shifted and the result is being cast to a u64
>which leads to undefined behaviour if the shift is more than 31 bits. Fix
>this by casting the integer value 1 to u64 before the shift operation.
>
>Addresses-Coverity: ("Bad shift operation")
>Fixes: 7b594769120b ("[SCSI] bnx2fc: Handle REC_TOV error code from
>firmware")
>Signed-off-by: Colin Ian King <[email protected]>
>---
> drivers/scsi/bnx2fc/bnx2fc_hwi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/scsi/bnx2fc/bnx2fc_hwi.c
>b/drivers/scsi/bnx2fc/bnx2fc_hwi.c
>index 19734ec7f42e..747f019fb393 100644
>--- a/drivers/scsi/bnx2fc/bnx2fc_hwi.c
>+++ b/drivers/scsi/bnx2fc/bnx2fc_hwi.c
>@@ -830,7 +830,7 @@ static void bnx2fc_process_unsol_compl(struct
>bnx2fc_rport *tgt, u16 wqe)
>                       ((u64)err_entry->data.err_warn_bitmap_hi << 32) |
>                       (u64)err_entry->data.err_warn_bitmap_lo;
>               for (i = 0; i < BNX2FC_NUM_ERR_BITS; i++) {
>-                      if (err_warn_bit_map & (u64) (1 << i)) {
>+                      if (err_warn_bit_map & ((u64)1 << i)) {
>                               err_warn = i;
>                               break;
>                       }
>-- 
>2.20.1

Thanks for the Patch.

Acked-by: Saurav Kashyap <[email protected]>

>

Reply via email to