linux_kernel_portfolio

STEP 0 COMPREHENSIVE: THE HARDWARE BRIDGE

1. OBJECTIVE

To axiomatically verify the transition of the Faulting Virtual Address (VA) from the CPU CR2 register into the Linux Kernel C logic.

2. THE BLACKLIST BATTLE (Why earlier probes failed)

We attempted to probe the raw hardware entry points but faced kernel security restrictions:

3. THE SOLUTION: lock_vma_under_rcu

We identified lock_vma_under_rcu as the First Reachable Receiver.

4. AXIOMATIC LOGIC (Why this function?)

This function represents the precise moment logic transitions from “I have an address” to “I am looking for the Memory Object (VMA)”.

5. LIVE VERIFICATION (The Proof)

We wrote a dedicated driver (probe0_driver.c) to filter by PID and Address.

6. FULL CALL CHAIN (Reconstructed)

  1. Hardware: CPU Trap 14 (Page Fault) -> Pushes Error Code 6.
  2. Asm Entry: asm_exc_page_fault -> READs CR2 (Fault Address).
  3. Route: exc_page_fault -> handle_page_fault (Inlined) -> do_user_addr_fault.
  4. Derivation: do_user_addr_fault gets mm = current->mm.
  5. Pivot: Calls lock_vma_under_rcu(mm, address).
  6. Capture: Our Probe 0 hits here.

7. CONCLUSION

Step 0 is Axiomatically Verified. We have proven that the address causing the crash in userspace is bit-exactly the same address arriving at the VMA lookup logic in the kernel.


TERMS INTRODUCED WITHOUT DERIVATION: None.