lkml.org 
[lkml]   [2019]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.1 074/115] scsi: bnx2fc: fix incorrect cast to u64 on shift operation
    Date
    [ Upstream commit d0c0d902339249c75da85fd9257a86cbb98dfaa5 ]

    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 <colin.king@canonical.com>
    Acked-by: Saurav Kashyap <skashyap@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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 039328d9ef13..30e6d78e82f0 100644
    --- a/drivers/scsi/bnx2fc/bnx2fc_hwi.c
    +++ b/drivers/scsi/bnx2fc/bnx2fc_hwi.c
    @@ -830,7 +830,7 @@ ret_err_rqe:
    ((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


    \
     
     \ /
      Last update: 2019-06-17 23:22    [W:4.846 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site