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

ata-isa registers no device_detach and never unwinds probe-allocated resources: kldunload of the ISA nata attachment permanently fails (ENXIO) and attach-failure leaks both IOPORT ranges with dangling softc pointers

Summary

The methods table omits detach (the shared ata_detach exists and every sibling attachment wires it) - devclass_delete_driver aborts at the kobj-error ENXIO while any ISA channel is attached, and failed attaches leak both IOPORT ranges for the boot with stale r_io vectors. Root/boot-hint gated; GENERIC compiles nata in so the unload consequence additionally needs a module build. Wire-detach + release fix.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-5208 Β· 1 files
FileTypeDescriptionSize
verdict.json file 990 B view raw

Fix verification

not_testable
baseline no→ patch + rebuild →patched clean
per-fix-DF-5208

Confirmed kernel references

Detail

Evidence (decisive lines)

static analysis: methods table omission + dispatch chain

Verified recommended fix

DEVMETHOD(device_detach, ata_isa_detach) + resource release

Verdict

untested (root/boot-hint gated; nata compiled into GENERIC on guest)