Messages in this thread | | | From | Ard Biesheuvel <> | Subject | [RFC PATCH 0/7] static call updates | Date | Tue, 9 Nov 2021 17:45:42 +0100 |
| |
This series addresses a number of asymmetries and inconsistencies in both the API and the implementation of static calls. The aim is to ensure that the documented API is fully implemented and works correctly, regardless of which variety of static calls the arch decides to implement.
Another goal of this series is to ensure that the caller of the API does not need to choose a particular kind of macro depending on whether the static call exports its key and/or whether the static call in question may implement the NULL flavor.
Cc: Peter Zijlstra <peterz@infradead.org> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Jason Baron <jbaron@akamai.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Kees Cook <keescook@chromium.org>
Ard Biesheuvel (7): static_call: get rid of static_call_cond() static_call: deal with unexported keys without cluttering up the API static_call: use helper to access non-exported key static_call: fix broken static_call_query() for non-exported keys static_call: use non-function types to refer to the trampolines static_call: rename EXPORT_ macros to be more self-explanatory static_call: add generic support for non-exported keys
arch/x86/events/core.c | 20 ++-- arch/x86/include/asm/kvm_host.h | 4 +- arch/x86/include/asm/preempt.h | 4 +- arch/x86/include/asm/static_call.h | 6 - arch/x86/kvm/irq.c | 2 +- arch/x86/kvm/x86.c | 10 +- include/asm-generic/vmlinux.lds.h | 5 +- include/linux/kernel.h | 2 +- include/linux/sched.h | 2 +- include/linux/static_call.h | 117 +++++++++----------- include/linux/static_call_types.h | 54 +++++---- kernel/extable.c | 1 + kernel/sched/core.c | 8 +- kernel/static_call.c | 29 +---- tools/include/linux/static_call_types.h | 54 +++++---- tools/objtool/check.c | 43 ++++--- 16 files changed, 174 insertions(+), 187 deletions(-)
-- 2.30.2
| |