Blame SOURCES/0148-scsi-scsi-qla2xxx-Fix-a-NULL-pointer-dereference.patch

3c6e85
From cf6f6cf41f56ff4c996323ed4c3a913ed7e0d374 Mon Sep 17 00:00:00 2001
3c6e85
From: Himanshu Madhani <hmadhani@redhat.com>
3c6e85
Date: Thu, 21 Nov 2019 16:36:58 -0500
3c6e85
Subject: [PATCH 148/155] [scsi] scsi: qla2xxx: Fix a NULL pointer dereference
3c6e85
3c6e85
Message-id: <20191121163701.43688-24-hmadhani@redhat.com>
3c6e85
Patchwork-id: 287865
3c6e85
O-Subject: [RHLE 7.8 e-stor PATCH v3 23/26] scsi: qla2xxx: Fix a NULL pointer dereference
3c6e85
Bugzilla: 1731581
3c6e85
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
3c6e85
RH-Acked-by: Ewan Milne <emilne@redhat.com>
3c6e85
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
3c6e85
3c6e85
From: Bart Van Assche <bvanassche@acm.org>
3c6e85
3c6e85
Bugzilla 1731581
3c6e85
3c6e85
BUG: KASAN: null-ptr-deref in qla24xx_handle_plogi_done_event+0x134/0x9f0 [qla2xxx]
3c6e85
Read of size 4 at addr 00000000000000a0 by task swapper/2/0
3c6e85
3c6e85
CPU: 2 PID: 0 Comm: swapper/2 Not tainted 5.2.0-dbg+ #1
3c6e85
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
3c6e85
Call Trace:
3c6e85
 <IRQ>
3c6e85
 dump_stack+0x8a/0xd6
3c6e85
 __kasan_report.cold+0x5/0x41
3c6e85
 kasan_report+0x16/0x20
3c6e85
 __asan_load4+0x7e/0x80
3c6e85
 qla24xx_handle_plogi_done_event+0x134/0x9f0 [qla2xxx]
3c6e85
 qla2x00_els_dcmd2_sp_done+0x15f/0x230 [qla2xxx]
3c6e85
 qla24xx_els_ct_entry+0x3b3/0x610 [qla2xxx]
3c6e85
 qla24xx_process_response_queue+0x514/0x10e0 [qla2xxx]
3c6e85
 qla24xx_msix_rsp_q+0x80/0x100 [qla2xxx]
3c6e85
 __handle_irq_event_percpu+0x72/0x450
3c6e85
 handle_irq_event_percpu+0x74/0xf0
3c6e85
 handle_irq_event+0x5e/0x8f
3c6e85
 handle_edge_irq+0x13a/0x320
3c6e85
 handle_irq+0x30/0x40
3c6e85
 do_IRQ+0x91/0x190
3c6e85
 common_interrupt+0xf/0xf
3c6e85
 </IRQ>
3c6e85
RIP: 0010:default_idle+0x31/0x230
3c6e85
3c6e85
Fixes: 8777e4314d39 ("scsi: qla2xxx: Migrate NVME N2N handling into state machine") # v4.19.
3c6e85
Cc: Himanshu Madhani <hmadhani@marvell.com>
3c6e85
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
3c6e85
Tested-by: Himanshu Madhani <hmadhani@marvell.com>
3c6e85
Reviewed-by: Himanshu Madhani <hmadhani@marvell.com>
3c6e85
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
3c6e85
(cherry picked from commit d1436e456b840162eb4d162f99055d2adb79a566)
3c6e85
Signed-off-by: Himanshu Madhani <hmadhani@redhat.com>
3c6e85
Signed-off-by: Jan Stancek <jstancek@redhat.com>
3c6e85
---
3c6e85
 drivers/scsi/qla2xxx/qla_iocb.c | 3 ++-
3c6e85
 1 file changed, 2 insertions(+), 1 deletion(-)
3c6e85
3c6e85
diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c
3c6e85
index 05acf2f85895..918b18d53599 100644
3c6e85
--- a/drivers/scsi/qla2xxx/qla_iocb.c
3c6e85
+++ b/drivers/scsi/qla2xxx/qla_iocb.c
3c6e85
@@ -2868,7 +2868,8 @@ qla2x00_els_dcmd2_sp_done(void *ptr, int res)
3c6e85
 		case CS_COMPLETE:
3c6e85
 			memset(&ea, 0, sizeof(ea));
3c6e85
 			ea.fcport = fcport;
3c6e85
-			ea.rc = res;
3c6e85
+			ea.data[0] = MBS_COMMAND_COMPLETE;
3c6e85
+			ea.sp = sp;
3c6e85
 			qla24xx_handle_plogi_done_event(vha, &ea);
3c6e85
 			break;
3c6e85
 
3c6e85
-- 
3c6e85
2.13.6
3c6e85