mps_user_command leaks one mps_command per timed-out MPSIO_MPS_COMMAND (shared pool exhaustion starves the storage stack)
Summary
The wait error path does 'goto Ret' which skips the RetFreeUnlocked block - the mps_command is never returned to sc->req_list. Each timed-out MPSIO_MPS_COMMAND permanently removes one slot from the finite pool shared with the SCSI I/O path -> ENOMEM for all management ioctls and eventual I/O starvation of the boot disk. Folded into the DF-4014 abandon-policy fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-4015 Β· 2 files| File | Type | Description | Size | |
|---|---|---|---|---|
| README.md | file | 242 B | β raw | |
| verdict.json | file | 957 B | view raw |
DF-4015
Low/Info finding β PoC skipped per contract (hardware-gated / dead code). Source citations in the pass-2 result block.
Fix: free/reclaim the command once provably no longer in flight (folded into the DF-4014 abandon-policy fix)
Fix verification
not_testablefree/reclaim the command once provably no longer in flight (folded into the DF-4014 abandon-policy fix)
source-only
Confirmed kernel references
Detail
Exploit chain
[]
Evidence (decisive lines)
source-only; path:line citations in pass-2 result block
Verdict
source-verified; HW-gated (needs mps adapter + slow FW)
No comments yet.