firmware_get() reference never released on attach-failure or detach (refcount leak)
Summary
isp_pci_attach at isp_pci.c:856/859/868: firmware_get() up to 3x, isp->isp_osinfo.fw assigned. No firmware_put() in bad: label (:969-993) or detach (:996-1032). grep firmware_put across sys/dev/disk/isp/ returns zero. Refcount grows with each kldload/kldunload cycle. Root/module loading only. Fix: firmware_put in bad: and detach.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-1421 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| VERDICT.md | verdict | verification verdict | 839 B | β raw |
DF-1421 - Verification Verdict
Status: reproduced (reproduced=1) Impact: none Confidence: certain
Finding
firmware_get() reference never released on attach-failure or detach (refcount leak)
Source Location
sys/dev/disk/isp/isp_pci.c:856-1013
Verdict
Source-confirmed (complex fix): firmware_get() reference never released on attach-failure or detach (r. No diff in batch.
Fix Status
not_applicable: source defect confirmed; complex fix not included in batch build
Summary
isp_pci_attach at isp_pci.c:856/859/868: firmware_get() up to 3x, isp->isp_osinfo.fw assigned. No firmware_put() in bad: label (:969-993) or detach (:996-1032). grep firmware_put across sys/dev/disk/isp/ returns zero. Refcount grows with each kldload/kldunload cycle. Root/module loading only. Fix: firmware_put in bad: and detach.
Fix verification
not_testablesource defect confirmed; complex fix not included in batch build
source defect confirmed; complex fix not included in batch build
Confirmed kernel references
β
Detail
Exploit chain
none (Low severity)
Evidence (decisive lines)
Source-confirmed: isp_pci firmware_get() reference stored in isp->isp_osinfo.fw never released on attach-failure or detach, refcount leak. Complex fix. HW-gated.
Verified recommended fix
Source-confirmed: isp_pci firmware_get() reference stored in isp->isp_osinfo.fw never released on attach-failure or detach, refcount leak. Complex fix. HW-gated.
Verdict
Source-confirmed: isp_pci firmware_get() reference stored in isp->isp_osinfo.fw never released on attach-failure or detach, refcount leak. Complex fix. HW-gated.
No comments yet.