Linux Strict Devmem & Strict I/O Devmem Architecture Simulator
CONFIG_STRICT_DEVMEM=y & CONFIG_IO_STRICT_DEVMEM=y
Physical System RAM
Active Driver MMIO
Legacy ROM / VGA
Mode: Strict RAM + I/O (2)
Next Step ⏭
Auto Play ▶
Reset ↺
Theme 🌓
Userspace /dev/mem Access
Target: System RAM
Phys: 0x40000000 - 0x7fffffff
Kernel text, creds, page tables
Target: Claimed Driver MMIO
PCI BARs / NVMe DMA
Claimed by active kernel driver
High DMA hijacking risk
Target: Unclaimed ROM
BIOS ROM / VGA 0xa0000
Not claimed by drivers
Legacy X.org / Display access
Kernel Physical Memory Filter
CONFIG_STRICT_DEVMEM=y & IO_STRICT=y
devmem_is_allowed(pfn)
Checks page against /proc/iomem
If PFN in System RAM -> return 0
Prevents Ring 0 memory exposure
devmem_is_unconsumed(pfn)
Checks I/O resource collision
If MMIO claimed by driver -> return 0
Unclaimed ROM -> return 1
Status: Full physical protection
Mapping Outcome
MMAP GRANTED
Return: valid virtual pointer
Userspace PTE established
Legitimate display/ROM access
BLOCKED: -EPERM
mmap() returned MAP_FAILED
errno = EPERM (1)
Physical RAM isolated
Rootkit tamper defeated
Ready. Choose a scenario: Physical System RAM, Active Driver MMIO, or Legacy ROM.
Step: 0/4