DF-0180
Fragile zeroing contract for fill_kinfo_lwp aggregation (+=)
Summary
fill_kinfo_lwp does NOT bzero output (unlike fill_kinfo_proc:126 and fill_kinfo_proc_kthread:286). Uses += on tick/pctcpu/slptime fields(:257-262) and ruadd(:267). Correctness depends on caller pre-zeroing. Current kernel caller correct (kern_proc.c:1601,1613). Latent regression risk.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-0180 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| manifest.json | file | 386 B | view raw |
Fix verification
fixedbaseline reproducedβ patch + rebuild βpatched clean
fix.diff applied + combined nativekernel build rc=0 (-Werror)
fix.diff applied + combined nativekernel build rc=0 (-Werror)
combined build rc=0
Confirmed kernel references
β
Detail
Exploit chain
none (Info severity)
Evidence (decisive lines)
Source-confirmed at sys/kern/kern_kinfo.c:219: fragile zeroing contract for fill_kinfo_lwp aggregation
Verified recommended fix
Source-confirmed at sys/kern/kern_kinfo.c:219: fragile zeroing contract for fill_kinfo_lwp aggregation
Verdict
Source-confirmed at sys/kern/kern_kinfo.c:219: fragile zeroing contract for fill_kinfo_lwp aggregation
No comments yet.