β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
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)

No comments yet.

PoC verification

Evidence pack

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

Fix verification

not_testable
baseline 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)