aac(4) MSI tunable registered under mfi(4)'s name (hw.mfi.msi.enable) and NOMSI attach path permanently mutates the shared boot global
Summary
TUNABLE_INT name copy-pasted from mfi(4): the natural hw.aac.msi.enable knob does not exist, boot settings intended for mfi silently apply to aac adapters, and a NOMSI card's attach permanently zeroes the global forcing later MSI-capable aac cards to INTx. Upstream uses a per-driver name. Operational misconfiguration only. Rename + per-device-decision fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-4851 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 1.1 KB | view raw |
Fix verification
not_testableConfirmed kernel references
Detail
Exploit chain
set hw.mfi.msi.enable=0 for an mfi issue -> every aac card also INTx; or NOMSI 2230S attaches before a 5405 -> 5405 gets INTx despite default=1
Evidence (decisive lines)
findings/poc/DF-4851/ (this verdict)
Verdict
Operational misconfiguration only (no memory-safety impact): aac's MSI tunable is registered under mfi(4)'s exact name (hw.mfi.msi.enable, copy-pasted from mfi_pci.c:107-108) - the natural hw.aac.msi.enable knob does not exist, boot-time settings intended for mfi silently apply to every aac adapter, and the NOMSI attach path permanently writes aac_msi_enable=0 so later MSI-capable aac cards are forced to INTx. Upstream FreeBSD uses a per-driver name. No aac hardware on the guest. Rename-the-tunable + per-device-decision fix.
No comments yet.