[RFC PATCH 0/7] static call updates

Ard Biesheuvel ardb at kernel.org
Tue Nov 9 08:45:42 PST 2021


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 at infradead.org>
Cc: Josh Poimboeuf <jpoimboe at redhat.com>
Cc: Jason Baron <jbaron at akamai.com>
Cc: Steven Rostedt <rostedt at goodmis.org>
Cc: Mark Rutland <mark.rutland at arm.com>
Cc: Kees Cook <keescook at 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




More information about the linux-arm-kernel mailing list