scsi: scsi_dh_alua: Fix signedness bug in alua_rtpg()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 3 Jun 2021 12:33:20 +0000 (15:33 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:00:42 +0000 (16:00 +0200)
commit 80927822e8b6be46f488524cd7d5fe683de97fc4 upstream.

The "retval" variable needs to be signed for the error handling to work.

Link: https://lore.kernel.org/r/YLjMEAFNxOas1mIp@mwanda
Fixes: 7e26e3ea0287 ("scsi: scsi_dh_alua: Check for negative result value")
Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/device_handler/scsi_dh_alua.c

index c8bfd87a80472e04ae9db2d2475a976b256b0f01..005b97c61dc0004d355b952443f95f2613afcaa7 100644 (file)
@@ -517,7 +517,8 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_port_group *pg)
        int len, k, off, bufflen = ALUA_RTPG_SIZE;
        int group_id_old, state_old, pref_old, valid_states_old;
        unsigned char *desc, *buff;
-       unsigned err, retval;
+       unsigned err;
+       int retval;
        unsigned int tpg_desc_tbl_off;
        unsigned char orig_transition_tmo;
        unsigned long flags;