β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
DF-4015

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)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-4015 Β· 2 files
FileTypeDescriptionSize
README.md file 242 B ↓ raw
verdict.json file 957 B view raw
README.md file
↓ download 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_testable
baseline no→ patch + rebuild →patched clean

free/reclaim the command once provably no longer in flight (folded into the DF-4014 abandon-policy fix)

source-only
per-fix-DF-4015

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)