[PATCH v2 0/3] objtool: noinstr validation for static branches/calls

From: Josh Poimboeuf
Date: Tue Nov 26 2024 - 23:47:51 EST


v2:
- Add some fixes reported by kbuild.


FWIW, this reports the following static keys:

- sched_clock_running
- __sched_clock_stable
- mds_idle_clear
- vmx_l1d_flush_cond
- stack_erasing_bypass

and the following static calls:

- pv_sched_clock
- x86_idle

(not necessarily an exhaustive list, just the ones I've seen)


Josh Poimboeuf (3):
jump_label: Add annotations for validating noinstr usage
static_call: Add read-only-after-init static calls
objtool: Add noinstr validation for static branches/calls

include/linux/jump_label.h | 30 ++++++--
include/linux/objtool.h | 7 ++
include/linux/static_call.h | 19 +++++
tools/objtool/Documentation/objtool.txt | 34 +++++++++
tools/objtool/check.c | 92 ++++++++++++++++++++++---
tools/objtool/include/objtool/check.h | 1 +
tools/objtool/include/objtool/elf.h | 1 +
tools/objtool/include/objtool/special.h | 1 +
tools/objtool/special.c | 18 ++++-
9 files changed, 187 insertions(+), 16 deletions(-)

--
2.47.0