scsi: qla2xxx: Fix null pointer access during disconnect from subsystem
[ Upstream commit
83949613fac61e8e37eadf8275bf072342302f4e ]
NVMEAsync command is being submitted to QLA while the same NVMe controller
is in the middle of reset. The reset path has deleted the association and
freed aen_op->fcp_req.private. Add a check for this private pointer before
issuing the command.
...
6 [
ffffb656ca11fce0] page_fault at
ffffffff8c00114e
[exception RIP: qla_nvme_post_cmd+394]
RIP:
ffffffffc0d012ba RSP:
ffffb656ca11fd98 RFLAGS:
00010206
RAX:
ffff8fb039eda228 RBX:
ffff8fb039eda200 RCX:
00000000000da161
RDX:
ffffffffc0d4d0f0 RSI:
ffffffffc0d26c9b RDI:
ffff8fb039eda220
RBP:
0000000000000013 R8:
ffff8fb47ff6aa80 R9:
0000000000000002
R10:
0000000000000000 R11:
ffffb656ca11fdc8 R12:
ffff8fb27d04a3b0
R13:
ffff8fc46dd98a58 R14:
0000000000000000 R15:
ffff8fc4540f0000
ORIG_RAX:
ffffffffffffffff CS: 0010 SS: 0018
7 [
ffffb656ca11fe08] nvme_fc_start_fcp_op at
ffffffffc0241568 [nvme_fc]
8 [
ffffb656ca11fe50] nvme_fc_submit_async_event at
ffffffffc0241901 [nvme_fc]
9 [
ffffb656ca11fe68] nvme_async_event_work at
ffffffffc014543d [nvme_core]
10 [
ffffb656ca11fe98] process_one_work at
ffffffff8b6cd437
11 [
ffffb656ca11fed8] worker_thread at
ffffffff8b6cdcef
12 [
ffffb656ca11ff10] kthread at
ffffffff8b6d3402
13 [
ffffb656ca11ff50] ret_from_fork at
ffffffff8c000255
--
PID: 37824 TASK:
ffff8fb033063d80 CPU: 20 COMMAND: "kworker/u97:451"
0 [
ffffb656ce1abc28] __schedule at
ffffffff8be629e3
1 [
ffffb656ce1abcc8] schedule at
ffffffff8be62fe8
2 [
ffffb656ce1abcd0] schedule_timeout at
ffffffff8be671ed
3 [
ffffb656ce1abd70] wait_for_completion at
ffffffff8be639cf
4 [
ffffb656ce1abdd0] flush_work at
ffffffff8b6ce2d5
5 [
ffffb656ce1abe70] nvme_stop_ctrl at
ffffffffc0144900 [nvme_core]
6 [
ffffb656ce1abe80] nvme_fc_reset_ctrl_work at
ffffffffc0243445 [nvme_fc]
7 [
ffffb656ce1abe98] process_one_work at
ffffffff8b6cd437
8 [
ffffb656ce1abed8] worker_thread at
ffffffff8b6cdb50
9 [
ffffb656ce1abf10] kthread at
ffffffff8b6d3402
10 [
ffffb656ce1abf50] ret_from_fork at
ffffffff8c000255
Link: https://lore.kernel.org/r/20200806111014.28434-10-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>