• Manish Rangankar's avatar
    scsi: qla2xxx: During vport delete send async logout explicitly · 76f480d7
    Manish Rangankar authored
    During vport delete, it is observed that during unload we hit a crash
    because of stale entries in outstanding command array.  For all these stale
    I/O entries, eh_abort was issued and aborted (fast_fail_io = 2009h) but
    I/Os could not complete while vport delete is in process of deleting.
    
      BUG: kernel NULL pointer dereference, address: 000000000000001c
      #PF: supervisor read access in kernel mode
      #PF: error_code(0x0000) - not-present page
      PGD 0 P4D 0
      Oops: 0000 [#1] PREEMPT SMP NOPTI
      Workqueue: qla2xxx_wq qla_do_work [qla2xxx]
      RIP: 0010:dma_direct_unmap_sg+0x51/0x1e0
      RSP: 0018:ffffa1e1e150fc68 EFLAGS: 00010046
      RAX: 0000000000000000 RBX: 0000000000000021 RCX: 0000000000000001
      RDX: 0000000000000021 RSI: 0000000000000000 RDI: ffff8ce208a7a0d0
      RBP: ffff8ce208a7a0d0 R08: 0000000000000000 R09: ffff8ce378aac9c8
      R10: ffff8ce378aac8a0 R11: ffffa1e1e150f9d8 R12: 0000000000000000
      R13: 0000000000000000 R14: ffff8ce378aac9c8 R15: 0000000000000000
      FS:  0000000000000000(0000) GS:ffff8d217f000000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 000000000000001c CR3: 0000002089acc000 CR4: 0000000000350ee0
      Call Trace:
      <TASK>
      qla2xxx_qpair_sp_free_dma+0x417/0x4e0
      ? qla2xxx_qpair_sp_compl+0x10d/0x1a0
      ? qla2x00_status_entry+0x768/0x2830
      ? newidle_balance+0x2f0/0x430
      ? dequeue_entity+0x100/0x3c0
      ? qla24xx_process_response_queue+0x6a1/0x19e0
      ? __schedule+0x2d5/0x1140
      ? qla_do_work+0x47/0x60
      ? process_one_work+0x267/0x440
      ? process_one_work+0x440/0x440
      ? worker_thread+0x2d/0x3d0
      ? process_one_work+0x440/0x440
      ? kthread+0x156/0x180
      ? set_kthread_struct+0x50/0x50
      ? ret_from_fork+0x22/0x30
      </TASK>
    
    Send out async logout explicitly for all the ports during vport delete.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarManish Rangankar <mrangankar@marvell.com>
    Signed-off-by: default avatarNilesh Javali <njavali@marvell.com>
    Link: https://lore.kernel.org/r/20240710171057.35066-8-njavali@marvell.comReviewed-by: default avatarHimanshu Madhani <himanshu.madhani@oracle.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    76f480d7
qla_mid.c 32.8 KB