Re: [PATCH][next] scsi: hpsa: fix an uninitialized read and dereference of pointer dev

From: Nathan Chancellor
Date: Thu May 23 2019 - 11:38:46 EST


On Wed, May 22, 2019 at 09:39:03AM +0100, Colin King wrote:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> Currently the check for a lockup_detected failure exits via the
> label return_reset_status that reads and dereferences an uninitialized
> pointer dev. Fix this by ensuring dev is inintialized to null.
>
> Addresses-Coverity: ("Uninitialized pointer read")
> Fixes: 14991a5bade5 ("scsi: hpsa: correct device resets")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>

Reviewed-by: Nathan Chancellor <natechancellor@xxxxxxxxx>

Clang similarly warns about this, hence my identical submission after
this, sorry for the noise.

> ---
> drivers/scsi/hpsa.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
> index c560a4532733..ac8338b0571b 100644
> --- a/drivers/scsi/hpsa.c
> +++ b/drivers/scsi/hpsa.c
> @@ -5947,7 +5947,7 @@ static int hpsa_eh_device_reset_handler(struct scsi_cmnd *scsicmd)
> int rc = SUCCESS;
> int i;
> struct ctlr_info *h;
> - struct hpsa_scsi_dev_t *dev;
> + struct hpsa_scsi_dev_t *dev = NULL;
> u8 reset_type;
> char msg[48];
> unsigned long flags;
> --
> 2.20.1
>