DF-5210
iounmap() passes a raw physical address to pmap_change_attr(), which requires a kernel virtual address β RAM-backed ioremap cleanup writes PTEs via vtopte() on a user-range address (page-fault panic or silent cache-attr corruption)
Summary
The restore-WB fixup hands paddr to a VA-taking API - every physaddr takes the non-DMAP vtopte branch on a user-range address with no intermediate tables in kernel_pmap: panic or silent cache-attr rewrite of an unrelated mapping. Root-gated via the ADDMAP/RMMap path (x86-64 offset check compiled out there). PHYS_TO_DMAP fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-5210 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 902 B | view raw |
Fix verification
not_testablebaseline noβ patch + rebuild βpatched clean
per-fix-DF-5210
Confirmed kernel references
Detail
Evidence (decisive lines)
static trace in finding markdown
Verified recommended fix
see finding markdown
Verdict
untested (hardware-/root-gated; Low/Info per contract)
No comments yet.