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

Linmao Li posted 2 patches 1 week, 4 days ago
drivers/scsi/leapraid/leapraid_app.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
[PATCH v3 0/2] scsi: leapraid: fix firmware log mmap lifetime
Posted by Linmao Li 1 week, 4 days ago
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@kylinos.cn/
v2: https://lore.kernel.org/all/20260813072614.1387555-1-lilinmao@kylinos.cn/

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
Re: [PATCH v3 0/2] scsi: leapraid: fix firmware log mmap lifetime
Posted by Martin K. Petersen (Oracle) 1 day, 11 hours ago
Linmao,

> 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.

Applied to 7.3/scsi-staging, thanks!

-- 
Martin K. Petersen