summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBikash Hazarika <bhazarika@marvell.com>2023-06-07 17:08:37 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-07-23 13:47:57 +0200
commit5a52a2e14fe866541bbc0033058e44bf0bf0c580 (patch)
tree793c561f278f4b48f9c9802e3467d5b9a61bc31c
parent89250e775dcc4482d8e970ed92ad2c9458b14a8a (diff)
downloadlinux-5a52a2e14fe866541bbc0033058e44bf0bf0c580.tar.gz
linux-5a52a2e14fe866541bbc0033058e44bf0bf0c580.tar.bz2
linux-5a52a2e14fe866541bbc0033058e44bf0bf0c580.zip
scsi: qla2xxx: Fix potential NULL pointer dereference
commit 464ea494a40c6e3e0e8f91dd325408aaf21515ba upstream. Klocwork tool reported 'cur_dsd' may be dereferenced. Add fix to validate pointer before dereferencing the pointer. Cc: stable@vger.kernel.org Signed-off-by: Bikash Hazarika <bhazarika@marvell.com> Signed-off-by: Nilesh Javali <njavali@marvell.com> Link: https://lore.kernel.org/r/20230607113843.37185-3-njavali@marvell.com Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/scsi/qla2xxx/qla_iocb.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c
index 605e94f97318..7a4298388ef1 100644
--- a/drivers/scsi/qla2xxx/qla_iocb.c
+++ b/drivers/scsi/qla2xxx/qla_iocb.c
@@ -603,7 +603,8 @@ qla24xx_build_scsi_type_6_iocbs(srb_t *sp, struct cmd_type_6 *cmd_pkt,
put_unaligned_le32(COMMAND_TYPE_6, &cmd_pkt->entry_type);
/* No data transfer */
- if (!scsi_bufflen(cmd) || cmd->sc_data_direction == DMA_NONE) {
+ if (!scsi_bufflen(cmd) || cmd->sc_data_direction == DMA_NONE ||
+ tot_dsds == 0) {
cmd_pkt->byte_count = cpu_to_le32(0);
return 0;
}