Address Space Isolation for Enhanced Safety of the Linux Kernel
summary
Proposes an opt-in kernel patch that partitions kernel address space into three kernel contexts (safe, core, QM) by renaming linker sections, carving vmlalloc ranges and pruning page-table subtrees on ARM64, using the MMU for MMU coloring instead of hardware tags. Implements vmap stacks, wider stack canaries and optional pointer authentication; prototype runs upstream Linux without showstoppers but incurs frequent TLB flushes and context-switch cost. Reduces but does not eliminate cross-context interference; code aims for public release later in the year.
AI-written summary · about
chapters (11)
- 0:00Start
- 0:13Introduction
- 0:43Protecting the Kernel from Self-Interference
- 2:55Implement the User Space Device Drivers
- 3:13Self-Monitoring
- 4:57Why Do We Want Barriers
- 12:59Is this a Micro Kernel
- 17:47The Page Tables
- 20:07Translation from Virtual to Physical
- 23:22Lean Time Allocations
- 30:25Switch to Vmap Stack
related talks
48mAddress Space Isolation is ready
30mRestricted Address Spaces for Container Security
49mKVM Address Space Isolation
22mAddress Spaces for Namespaces
50mProtected KVM on Arm64: A Technical Deep Dive
38mKernel Hardening: Protecting the Protection Mechanisms
34mA New Proposal for Protecting Kernel Data Memory
50mMPK/PKS Linux Kernel Compartmentalization
