Security Features status update
summary
Toolchains now match on fstrict-flex-arrays=3, -fsanitize=bounds and __builtin_dynamic_object_size(); GCC landed changes in 13–15 and Clang in 16 for trailing arrays. GCC and Clang implement arm64 Shadow Call Stack (works) but x86 kernel shadow stacks are impractical today; per-process stack canaries exist on x86 while RISC-V/PowerPC need Clang/GCC fixes. Work in progress is __counted_by(member) for bounded flexible arrays (GCC delayed to 15 due to a data‑dependence fix), forward-edge CFI (KCFI) needs GCC support, and arithmetic-overflow and LTO/kernel integration remain open.
AI-written summary · about
chapters (11)
- 0:00Kernel toolchain overview
- 2:51Security feature status
- 6:48CFI and mitigation strategies
- 10:13Counted-by attribute plan
- 14:37Data dependence resolution
- 19:07User interface and usage
- 24:54Compiler design and requirements
- 35:10Future work and roadmap
- 37:54Clang status and Apple RFC
- 47:55Nested structs and unions
- 51:19Overflow protection and Q&A
related talks
21mSecurity Features status update
44mWhere are we on security features?
01h 12mEnhancing Spatial Safety: Better Array-bounds Checking in C (and Linux)
46mProgress On Bounds Checking in C and the Linux Kernel
35mUpstream Kernel Hardening: Recent Progress and Challenges
40mUpstream Kernel Hardening: Progress on Enabling -Wflex-array-member-not-at-end
47mChallenges and Innovations Towards Spatial Safety in the Linux Kernel
18mExciting new compiler flags for kernel security
