Re: [PATCH 06/11] qla2xxx: Fix crash in qla2xxx_mqueuecommand

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Mar 22, 2021, at 11:42 PM, Nilesh Javali <njavali@xxxxxxxxxxx> wrote:
> 
> From: Arun Easi <aeasi@xxxxxxxxxxx>
> 
>    RIP: 0010:kmem_cache_free+0xfa/0x1b0
>    Call Trace:
>       qla2xxx_mqueuecommand+0x2b5/0x2c0 [qla2xxx]
>       scsi_queue_rq+0x5e2/0xa40
>       __blk_mq_try_issue_directly+0x128/0x1d0
>       blk_mq_request_issue_directly+0x4e/0xb0
> 
> Fix incorrect call to free srb in qla2xxx_mqueuecommand, as
> srb is now allocated by upper layers. This fixes smatch warning of
> srb unintended free.
> 
> Fixes: af2a0c51b120 ("scsi: qla2xxx: Fix SRB leak on switch command timeout")
> Cc: stable@xxxxxxxxxxxxxxx # 5.5
> Reported-by: Laurence Oberman <loberman@xxxxxxxxxx>
> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> Signed-off-by: Arun Easi <aeasi@xxxxxxxxxxx>
> Signed-off-by: Nilesh Javali <njavali@xxxxxxxxxxx>
> ---
> drivers/scsi/qla2xxx/qla_os.c | 7 -------
> 1 file changed, 7 deletions(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
> index 6563d69706ba..6a57399b515f 100644
> --- a/drivers/scsi/qla2xxx/qla_os.c
> +++ b/drivers/scsi/qla2xxx/qla_os.c
> @@ -1013,8 +1013,6 @@ qla2xxx_mqueuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd,
> 	if (rval != QLA_SUCCESS) {
> 		ql_dbg(ql_dbg_io + ql_dbg_verbose, vha, 0x3078,
> 		    "Start scsi failed rval=%d for cmd=%p.\n", rval, cmd);
> -		if (rval == QLA_INTERFACE_ERROR)
> -			goto qc24_free_sp_fail_command;
> 		goto qc24_host_busy_free_sp;
> 	}
> 
> @@ -1026,11 +1024,6 @@ qla2xxx_mqueuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd,
> qc24_target_busy:
> 	return SCSI_MLQUEUE_TARGET_BUSY;
> 
> -qc24_free_sp_fail_command:
> -	sp->free(sp);
> -	CMD_SP(cmd) = NULL;
> -	qla2xxx_rel_qpair_sp(sp->qpair, sp);
> -
> qc24_fail_command:
> 	cmd->scsi_done(cmd);
> 
> -- 
> 2.19.0.rc0
> 

Looks good. 

Reviewed-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>

--
Himanshu Madhani	 Oracle Linux Engineering





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux