DF-4675
bktr_detach removes only the minor==unit device node β /dev/tunerN (unit+16) and /dev/vbiN (unit+32) persist after detach, stranding cdevs that reference the driver's dev_ops (use-after-free after module unload)
Summary
Attach creates three nodes (unit, unit+16, unit+32) but detach's minor-match removes only the exact unit; stale nodes return ENXIO while attached but post-kldunload dispatch through freed dev_ops. Remove-all-three-minors fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-4675 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 865 B | view raw |
Fix verification
not_testablebaseline noβ patch + rebuild βpatched clean
not_testable: hardware-gated (no Bt848 / no CardMan on guest)
fix in finding markdown
per-fix-DF-4675
Confirmed kernel references
Detail
Exploit chain
[]
Evidence (decisive lines)
devfs minor-match misses the +16/+32 aliases. Remove-all-three-minors fix.
Verdict
not_run: Info lifecycle defect; root/hot-removal gated
No comments yet.