DF-5066
dm_target_autoload clobbers linker_file->userrefs with an unsynchronized '=1' store outside kld_lock, racing kldunload's locked read-modify-write β corrupts kld module pin accounting
Summary
The extra-big-hack naked store races locked userrefs RMW in kldload/kldunload - a lost update resurrects a pin or drops a legitimate reference (one kldunload too many admitted, whose failure mode is the DF-5065 freed-text class). Operator-group-reachable autoload side. Delete-the-hack fix (fresh loads already have userrefs=1).
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-5066 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 847 B | view raw |
Fix verification
not_testablebaseline noβ patch + rebuild βpatched clean
per-fix-DF-5066
Confirmed kernel references
Detail
Evidence (decisive lines)
source-level analysis in finding markdown
Verified recommended fix
delete the userrefs=1 hack
Verdict
untested (Low/hardening; both trigger sides privileged)
No comments yet.