musycc_attach error-path asymmetry leaves half-initialized csoftc on the global list; sibling-function attach then NULL-derefs
Summary
For PCI function 0, attach inserts csc into the global list BEFORE any resource setup; a later BAR/IRQ/intr failure returns without removing it - leaving virbase[0]==NULL on the list. Function 1's attach then finds that csc (or derefs csc==NULL) and unconditionally writes csc->reg->glcd - a NULL-deref write panic at boot. Intermediate paths also leak resources. Unwind-on-fail + NULL-check fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-4296 Β· 2 files| File | Type | Description | Size | |
|---|---|---|---|---|
| README.md | file | 202 B | β raw | |
| verdict.json | file | 830 B | view raw |
DF-4296
Hardware-gated (musycc) finding - PoC skipped per contract. Source citations in the pass-2 result block.
Fix: LIST_REMOVE unwind on failure + NULL-check the sibling csc before dereferencing
Fix verification
not_testableLIST_REMOVE unwind on failure + NULL-check the sibling csc before dereferencing
source-only
Confirmed kernel references
Detail
Exploit chain
[]
Evidence (decisive lines)
source-only; full path:line trace in pass-2 result block
Verdict
source-verified; hardware-gated (LMC1504 PCI absent on audit guest; ng control socket root-only)
No comments yet.