DF-5081
mpu401_init/mpu401_uninit free the kobj without kobj_delete: parent mpu class reference never dropped, compiled kobj_ops pinned forever (unbounded refs++ on reattach)
Summary
kobj_init takes a class ref that only kobj_delete drops, but both free sites use bare kfree - refs never reaches 0, the ~2KB compiled ops table is pinned, and every attach/detach cycle grows refs. Bounded one-time leak + permanent refcount imbalance; hardware-gated (no emu10kx/cmi/emu10k1 on guest). kobj_delete fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-5081 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 916 B | view raw |
Fix verification
not_testablebaseline noβ patch + rebuild βpatched clean
per-fix-DF-5081
Confirmed kernel references
Detail
Evidence (decisive lines)
static proof: mpu401.c:177 kobj_init vs bare kfree at :192/:205; subr_kobj.c:257-273
Verified recommended fix
kobj_delete instead of kfree at both sites
Verdict
untested (hardware-gated: no MPU-401 host on audit guest)
No comments yet.