~/talk

Control Flow Integrity in the Linux Kernel

slides:none on file

Linux kernel gets forward-edge checks by inserting per-type jump tables and runtime validation using Clang/LLVM CFI, requires whole-kernel visibility via thin LTO to collect targets, and adds an arm64 shadow call stack (x18) for backward-edge protection. Pixel 3/4 devices already ship it; upstreaming targets kernel 5.7–5.8. Build pain points are link memory/time, assembly and module handling, and C prototypes that need fixing. A permissive mode prints call traces; strict mode panics—demo shows CFI can abort a real kernel pointer hijack.

AI-written summary · about

  1. 0:00Intro
  2. 0:11Control Flow Integrity (CFI) in the Linux kernel
  3. 2:43Attack method: write to kernel code!
  4. 3:17What is writable and executable?
  5. 4:28Attack method: call into kernel code!
  6. 5:05direct function calls
  7. 6:15indirect calls: "forward-edge"
  8. 6:30function returns: "backward-edge"
  9. 6:53What contains writable func ptrs?
  10. 7:41What can attacker call? Any executable bytel
  11. 8:29CFI: forward-edge protection
  12. 10:20Forward-edge protection in Clang
  13. 11:34Stock: without Clang CFL
  14. 12:07Protected: with Clang CFI
  15. 13:57Jump tables and type mangling
  16. 14:44Better implementation ideas?
  17. 17:30CFI: backward-edge protection
  18. 18:11Backward-edge protection in Clang
  19. 23:18Gotchas
  20. 26:34Upstreaming status
  21. 29:59Do it yourself!
  22. 31:54What do failures look like?
  23. 33:04Thoughts?
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.