OpenCloudOS-Kernel/drivers/scsi/lpfc
James Smart 35a635af54 scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq
In lpfc_release_io_buf, an lpfc_io_buf is returned to the 'available' pool
before any associated sgl or cmd and rsp buffers are returned via their
respective 'put' routines.  If xri rebalancing occurs and an lpfc_io_buf
structure is reused quickly, there may be a race condition between release
of old and association of new resources.

Re-ordered lpfc_release_io_buf to release sgl and cmd/rsp
buffer lists before releasing the lpfc_io_buf structure for re-use.

Fixes: d79c9e9d4b ("scsi: lpfc: Support dynamic unbounded SGL lists on G7 hardware.")
Link: https://lore.kernel.org/r/20190922035906.10977-17-jsmart2021@gmail.com
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2019-09-30 22:07:11 -04:00
..
Makefile scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc.h scsi: lpfc: Fix NVME io abort failures causing hangs 2019-09-30 22:07:09 -04:00
lpfc_attr.c scsi: lpfc: Fix NVME io abort failures causing hangs 2019-09-30 22:07:09 -04:00
lpfc_attr.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_bsg.c scsi: lpfc: Migrate to %px and %pf in kernel print calls 2019-08-19 22:41:11 -04:00
lpfc_bsg.h scsi: lpfc: Update Copyright in driver version 2019-03-19 13:15:10 -04:00
lpfc_compat.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_crtn.h scsi: lpfc: Fix NVMe ABTS in response to receiving an ABTS 2019-09-30 22:07:10 -04:00
lpfc_ct.c scsi: lpfc: Fix list corruption in lpfc_sli_get_iocbq 2019-09-30 22:07:10 -04:00
lpfc_debugfs.c scsi: lpfc: Remove bg debugfs buffers 2019-08-29 18:08:58 -04:00
lpfc_debugfs.h scsi: lpfc: Merge per-protocol WQ/CQ pairs into single per-cpu pair 2019-08-19 22:41:12 -04:00
lpfc_disc.h scsi: lpfc: Add NVMe sequence level error recovery support 2019-08-19 22:41:12 -04:00
lpfc_els.c scsi: lpfc: Fix spinlock_irq issues in lpfc_els_flush_cmd() 2019-09-30 22:07:10 -04:00
lpfc_hbadisc.c scsi: lpfc: Fix list corruption in lpfc_sli_get_iocbq 2019-09-30 22:07:10 -04:00
lpfc_hw.h scsi: lpfc: Fix ELS field alignments 2019-08-19 22:41:08 -04:00
lpfc_hw4.h scsi: lpfc: Fix NVMe ABTS in response to receiving an ABTS 2019-09-30 22:07:10 -04:00
lpfc_ids.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_init.c scsi: lpfc: Fix device recovery errors after PLOGI failures 2019-09-30 22:07:09 -04:00
lpfc_logmsg.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_mbox.c SCSI misc on 20190306 2019-03-09 16:53:47 -08:00
lpfc_mem.c scsi: lpfc: Support dynamic unbounded SGL lists on G7 hardware. 2019-08-19 22:41:12 -04:00
lpfc_nl.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_nportdisc.c scsi: lpfc: Fix pt2pt discovery on SLI3 HBAs 2019-09-30 22:07:08 -04:00
lpfc_nvme.c scsi: lpfc: Fix NVMe ABTS in response to receiving an ABTS 2019-09-30 22:07:10 -04:00
lpfc_nvme.h SCSI misc on 20190306 2019-03-09 16:53:47 -08:00
lpfc_nvmet.c scsi: lpfc: Fix coverity errors on NULL pointer checks 2019-09-30 22:07:10 -04:00
lpfc_nvmet.h scsi: lpfc: Fix nvmet handling of received ABTS for unmapped frames 2019-06-18 19:46:21 -04:00
lpfc_scsi.c scsi: lpfc: Fix coverity errors on NULL pointer checks 2019-09-30 22:07:10 -04:00
lpfc_scsi.h scsi: lpfc: Update 12.2.0.0 file copyrights to 2019 2019-02-05 22:29:50 -05:00
lpfc_sli.c scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq 2019-09-30 22:07:11 -04:00
lpfc_sli.h scsi: lpfc: Support dynamic unbounded SGL lists on G7 hardware. 2019-08-19 22:41:12 -04:00
lpfc_sli4.h SCSI misc on 20190919 2019-09-21 10:50:15 -07:00
lpfc_version.h scsi: lpfc: Update lpfc version to 12.4.0.0 2019-08-19 22:41:12 -04:00
lpfc_vport.c scsi: lpfc: Fix issuing init_vpi mbox on SLI-3 card 2019-08-19 22:41:09 -04:00
lpfc_vport.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00