v1
2026-11-07
修复 arm64 noinstr 插桩逃逸 · v1
为 arm64 percpu、entry、stacktrace 与 alternatives 辅助函数补 noinstr/always_inline,防止插桩逃逸。
原始补丁链接
子 Patch(4)
1/4
arm64: percpu: Always inline helpers used by noinstr code
The non-instrumentable entry and stack unwinding paths use the per-CPU offset and read helpers. Plain inline does not guarantee inlining, so these helpers can be emitted out of line without inheriting
2/4
arm64: entry: Always inline helpers used by non-instrumentable paths
The noinstr entry and exit paths call MTE and SME helpers, CPU feature checks, and the architecture-specific rescheduling check. Several of these helpers use plain inline, which permits the compiler t
3/4
arm64: stacktrace: Always inline internal stack boundary helpers
The noinstr stack walkers reach the stack boundary and frame-record helpers through an __always_inline call chain. However, these shared helpers do not themselves guarantee inlining. With CONFIG_CC_O
4/4
arm64: alternatives: Make branch and ADRP offset helpers noinst
patch_alternative() must avoid instrumented code while alternatives are being modified, before cache maintenance completes. However, its branch and ADRP offset helpers are instrumentable. A GCC build