• Quinn Tran's avatar
    scsi: qla2xxx: Fix unsafe removal from linked list · 0c9a5f3e
    Quinn Tran authored
    On NPIV delete, the VPort is taken off a linked list in an unsafe manner.
    The check for VPort refcount should be done behind lock before taking off
    the element.
    
    [ 2733.016907] general protection fault: 0000 [#1] SMP NOPTI
    [ 2733.016908] qla2xxx [0000:22:00.1]-7088:27: VP[4] deleted.
    [ 2733.016912] CPU: 22 PID: 23481 Comm: qla2xxx_15_dpc Kdump: loaded Tainted:
    G           OE KX    5.3.18-47-default #1 SLE15-SP3
    [ 2733.016914] Hardware name: Dell Inc. PowerEdge R7525/0PYVT1, BIOS 2.1.4 02/17/2021
    [ 2733.016929] RIP: 0010:qla2x00_abort_isp+0x90/0x850 [qla2xxx]
    [ 2733.016933] RSP: 0018:ffffb9cfc91efe98 EFLAGS: 00010087
    [ 2733.016935] RAX: 0000000000000292 RBX: dead000000000100 RCX: 0000000000000000
    [ 2733.016936] RDX: 0000000000000001 RSI: ffff944bfeb99558 RDI: ffff944bfc4b4488
    [ 2733.016937] RBP: ffff944bfc4b2868 R08: 00000000000187a2 R09: 0000000000000001
    [ 2733.016937] R10: ffffb9cfc91efcc8 R11: 0000000000000001 R12: ffff944bfc4b4000
    [ 2733.016938] R13: ffff944bfc4b4870 R14: ffff944bfc4b4488 R15: ffff944bda895c80
    [ 2733.016939] FS:  0000000000000000(0000) GS:ffff944bfeb80000(0000) knlGS:0000000000000000
    [ 2733.016940] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 2733.016940] CR2: 00007fc173e74458 CR3: 0000001ff57de000 CR4: 0000000000350ee0
    [ 2733.016941] Call Trace:
    [ 2733.016951]   qla2xxx_pci_error_detected+0x190/0x190 [qla2xxx]
    [ 2733.016957]   qla2x00_do_dpc+0x560/0xa10 [qla2xxx]
    [ 2733.016962]   kthread+0x10d/0x130
    [ 2733.016963]   kthread_park+0xa0/0xa0
    [ 2733.016966]   ret_from_fork+0x22/0x40
    
    Link: https://lore.kernel.org/r/20210810043720.1137-9-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>
    0c9a5f3e
qla_os.c 226 KB