• Quinn Tran's avatar
    scsi: qla2xxx: Fix null pointer access during disconnect from subsystem · 83949613
    Quinn Tran authored
    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.comReviewed-by: default avatarHimanshu Madhani <himanshu.madhani@oracle.com>
    Signed-off-by: default avatarQuinn Tran <qutran@marvell.com>
    Signed-off-by: default avatarNilesh Javali <njavali@marvell.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    83949613
qla_nvme.c 18.8 KB