linux-stable/drivers/scsi/lpfc
James Smart f0d3919697 scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV
During rmmod testing, messages appeared indicating lpfc_mbuf_pool entries
were still busy. This situation was only seen doing rmmod after at least 1
vport (NPIV) instance was created and destroyed. The number of messages
scaled with the number of vports created.

When a vport is created, it can receive a PLOGI from another initiator
Nport.  When this happens, the driver prepares to ack the PLOGI and
prepares an RPI for registration (via mbx cmd) which includes an mbuf
allocation. During the unsolicited PLOGI processing and after the RPI
preparation, the driver recognizes it is one of the vport instances and
decides to reject the PLOGI. During the LS_RJT preparation for the PLOGI,
the mailbox struct allocated for RPI registration is freed, but the mbuf
that was also allocated is not released.

Fix by freeing the mbuf with the mailbox struct in the LS_RJT path.

As part of the code review to figure the issue out a couple of other areas
where found that also would not have released the mbuf. Those are cleaned
up as well.

Link: https://lore.kernel.org/r/20211204002644.116455-2-jsmart2021@gmail.com
Co-developed-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2021-12-06 22:35:36 -05:00
..
lpfc.h SCSI misc on 20211105 2021-11-05 08:42:02 -07:00
lpfc_attr.c scsi: lpfc: Switch to attribute groups 2021-10-16 21:45:56 -04:00
lpfc_attr.h
lpfc_bsg.c scsi: lpfc: Add bsg support for retrieving adapter cmf data 2021-08-24 22:56:34 -04:00
lpfc_bsg.h scsi: lpfc: Copyright updates for 14.0.0.1 patches 2021-08-24 22:56:34 -04:00
lpfc_compat.h
lpfc_crtn.h scsi: lpfc: Allow fabric node recovery if recovery is in progress before devloss 2021-10-20 23:33:46 -04:00
lpfc_ct.c scsi: lpfc: Add EDC ELS support 2021-08-24 22:56:33 -04:00
lpfc_debugfs.c scsi: lpfc: Add debugfs support for cm framework buffers 2021-08-24 22:56:34 -04:00
lpfc_debugfs.h scsi: lpfc: Copyright updates for 14.0.0.1 patches 2021-08-24 22:56:34 -04:00
lpfc_disc.h scsi: lpfc: Allow fabric node recovery if recovery is in progress before devloss 2021-10-20 23:33:46 -04:00
lpfc_els.c scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV 2021-12-06 22:35:36 -05:00
lpfc_hbadisc.c scsi: lpfc: Allow fabric node recovery if recovery is in progress before devloss 2021-10-20 23:33:46 -04:00
lpfc_hw.h scsi: lpfc: Add EDC ELS support 2021-08-24 22:56:33 -04:00
lpfc_hw4.h Merge branch '5.15/scsi-fixes' into 5.16/scsi-staging 2021-10-12 11:58:12 -04:00
lpfc_ids.h scsi: lpfc: Copyright updates for 14.0.0.0 patches 2021-07-27 00:06:41 -04:00
lpfc_init.c scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV 2021-12-06 22:35:36 -05:00
lpfc_logmsg.h scsi: lpfc: Copyright updates for 14.0.0.1 patches 2021-08-24 22:56:34 -04:00
lpfc_mbox.c scsi: lpfc: Revise Topology and RAS support checks for new adapters 2021-07-27 00:06:41 -04:00
lpfc_mem.c scsi: lpfc: Copyright updates for 14.0.0.1 patches 2021-08-24 22:56:34 -04:00
lpfc_nl.h
lpfc_nportdisc.c scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV 2021-12-06 22:35:36 -05:00
lpfc_nvme.c Merge branch '5.15/scsi-fixes' into 5.16/scsi-staging 2021-10-12 11:58:12 -04:00
lpfc_nvme.h scsi: lpfc: Add cmf_info sysfs entry 2021-08-24 22:56:34 -04:00
lpfc_nvmet.c scsi: lpfc: Improve PBDE checks during SGL processing 2021-09-14 23:33:22 -04:00
lpfc_scsi.c scsi: lpfc: Allow fabric node recovery if recovery is in progress before devloss 2021-10-20 23:33:46 -04:00
lpfc_scsi.h scsi: lpfc: Copyright updates for 14.0.0.0 patches 2021-07-27 00:06:41 -04:00
lpfc_sli.c scsi: lpfc: Fix link down processing to address NULL pointer dereference 2021-10-20 23:33:46 -04:00
lpfc_sli.h scsi: lpfc: Add support for the CM framework 2021-08-24 22:56:34 -04:00
lpfc_sli4.h scsi: lpfc: Fix EEH support for NVMe I/O 2021-09-14 23:33:21 -04:00
lpfc_version.h scsi: lpfc: Update lpfc version to 14.0.0.3 2021-10-20 23:33:46 -04:00
lpfc_vport.c scsi: lpfc: Update copyrights for 12.8.0.7 and 12.8.0.8 changes 2021-03-04 17:37:06 -05:00
lpfc_vport.h
Makefile