[PATCH v3 0/2] scsi: leapraid: fix firmware log mmap lifetime

From: Linmao Li

Date: Thu Aug 13 2026 - 23:39:10 EST


The firmware log mmap path has two related lifetime issues. VMA clones
drop Scsi_Host references that they never acquired, and device removal
can free the coherent log buffer while mmap is still setting up a VMA.

Patch 1 gives each VMA its own host device reference. Patch 2 claims a
temporary mmap activity reference under the adapter-list lock so teardown
cannot miss an in-progress mapping.

Patch 2 depends on patch 1: patch 1 keeps adapter non-NULL on the
successful mmap path, allowing patch 2 to drop the temporary mmap
reference at out_put. Applied alone, patch 2 would leak that reference
and make teardown wait indefinitely.

Neither patch has been tested on hardware; both are derived from the
reference counting and locking in the code.

Changes in v3:
- 2/2: wrap the leapraid_ctl_lookup_adapter() declaration before
bool track_mmap, aligned with int adapter_id, to stay within 80
columns, matching leapraid_ctl_validate_sge_offset() (Dongdong Hao)
- 1/2: unchanged

Changes in v2:
- 2/2: keep the return type and function name on the same line
(Dongdong Hao)
- 1/2: unchanged

v1: https://lore.kernel.org/all/20260811112001.1158587-1-lilinmao@xxxxxxxxxx/
v2: https://lore.kernel.org/all/20260813072614.1387555-1-lilinmao@xxxxxxxxxx/

Linmao Li (2):
scsi: leapraid: balance host references for firmware log VMAs
scsi: leapraid: serialize firmware log mmap with teardown

drivers/scsi/leapraid/leapraid_app.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)


base-commit: 376a3960e5efe85ff765abfb5b5b7e4655ad6aed
--
2.25.1