linux/drivers/scsi/lpfc
Dick Kennedy 1234a6d54f scsi: lpfc: Fix crash receiving ELS while detaching driver
The driver crashes when attempting to use a freed ndpl pointer.

The pci_remove_one handler runs on a separate kernel thread. The order
of the removal is starting by freeing all of the ndlps and then
disabling interrupts. In between these two events the driver can still
receive an ELS and process it. When it tries to use the ndlp pointer
will be NULL

Change the order of the pci_remove_one vs disable interrupts so that
interrupts are disabled before the ndlp's are freed.

Cc: <stable@vger.kernel.org> # 4.12+
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-10-02 22:46:33 -04:00
..
lpfc_attr.c scsi: lpfc: Fix crash receiving ELS while detaching driver 2017-10-02 22:46:33 -04:00
lpfc_attr.h scsi: lpfc: Add Buffer to Buffer credit recovery support 2017-08-24 22:29:43 -04:00
lpfc_bsg.c scsi: lpfc: Fix crash receiving ELS while detaching driver 2017-10-02 22:46:33 -04:00
lpfc_bsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_compat.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_crtn.h scsi: lpfc: Fix MRQ > 1 context list handling 2017-08-24 22:29:41 -04:00
lpfc_ct.c scsi: lpfc: convert info messages to standard messages 2017-08-24 22:29:36 -04:00
lpfc_debugfs.c SCSI misc on 20170907 2017-09-07 21:11:05 -07:00
lpfc_debugfs.h scsi: lpfc: avoid false-positive gcc-8 warning 2017-08-25 18:26:52 -04:00
lpfc_disc.h scsi: lpfc: Fix handling of FCP and NVME FC4 types in Pt2Pt topology 2017-08-24 22:29:37 -04:00
lpfc_els.c scsi: lpfc: Fix crash receiving ELS while detaching driver 2017-10-02 22:46:33 -04:00
lpfc_hbadisc.c scsi: lpfc: Fix crash receiving ELS while detaching driver 2017-10-02 22:46:33 -04:00
lpfc_hw4.h scsi: lpfc: Add Buffer to Buffer credit recovery support 2017-08-24 22:29:43 -04:00
lpfc_hw.h scsi: lpfc: Add Buffer to Buffer credit recovery support 2017-08-24 22:29:43 -04:00
lpfc_ids.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_init.c scsi: lpfc: Fix crash receiving ELS while detaching driver 2017-10-02 22:46:33 -04:00
lpfc_logmsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_mbox.c scsi: lpfc: Add Buffer to Buffer credit recovery support 2017-08-24 22:29:43 -04:00
lpfc_mem.c scsi: lpfc: Replace PCI pool old API 2017-08-07 14:04:01 -04:00
lpfc_nl.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_nportdisc.c scsi: lpfc: Fix crash receiving ELS while detaching driver 2017-10-02 22:46:33 -04:00
lpfc_nvme.c scsi: lpfc: Cocci spatch "pool_zalloc-simple" 2017-09-25 19:05:38 -04:00
lpfc_nvme.h scsi: lpfc: Fix transition nvme-i rport handling to nport only. 2017-06-12 21:37:30 -04:00
lpfc_nvmet.c SCSI misc on 20170907 2017-09-07 21:11:05 -07:00
lpfc_nvmet.h SCSI misc on 20170907 2017-09-07 21:11:05 -07:00
lpfc_scsi.c scsi: lpfc: Replace PCI pool old API 2017-08-07 14:04:01 -04:00
lpfc_scsi.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_sli4.h scsi: lpfc: Add Buffer to Buffer credit recovery support 2017-08-24 22:29:43 -04:00
lpfc_sli.c scsi: lpfc: Fix crash receiving ELS while detaching driver 2017-10-02 22:46:33 -04:00
lpfc_sli.h scsi: lpfc: Add auto EQ delay logic 2017-06-12 21:37:31 -04:00
lpfc_version.h scsi: lpfc: lpfc version bump 11.4.0.3 2017-08-24 22:29:44 -04:00
lpfc_vport.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_vport.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc.h scsi: lpfc: Add Buffer to Buffer credit recovery support 2017-08-24 22:29:43 -04:00
Makefile scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00