From: Juergen Gross <jgross@xxxxxxxx> commit 349f0086ba8b2a169877d21ff15a4d9da3a60054 upstream. In 32-bit x86 builds CONFIG_STATIC_CALL_INLINE isn't set, leading to static_call_initialized not being available. Define it as "0" in that case. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Fixes: 0ef8047b737d ("x86/static-call: provide a way to do very early static-call updates") Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- include/linux/static_call.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- a/include/linux/static_call.h +++ b/include/linux/static_call.h @@ -138,7 +138,6 @@ #ifdef CONFIG_HAVE_STATIC_CALL #include <asm/static_call.h> -extern bool static_call_initialized; /* * Either @site or @tramp can be NULL. */ @@ -161,6 +160,8 @@ extern void arch_static_call_transform(v #ifdef CONFIG_HAVE_STATIC_CALL_INLINE +extern bool static_call_initialized; + extern int __init static_call_init(void); struct static_call_mod { @@ -216,6 +217,8 @@ extern long __static_call_return0(void); #elif defined(CONFIG_HAVE_STATIC_CALL) +#define static_call_initialized 0 + static inline int static_call_init(void) { return 0; } #define __DEFINE_STATIC_CALL(name, _func, _func_init) \ @@ -266,6 +269,8 @@ extern long __static_call_return0(void); #else /* Generic implementation */ +#define static_call_initialized 0 + static inline int static_call_init(void) { return 0; } static inline long __static_call_return0(void) Patches currently in stable-queue which might be from jgross@xxxxxxxx are queue-5.15/x86-make-get_cpu_vendor-accessible-from-xen-code.patch queue-5.15/x86-xen-use-new-hypercall-functions-instead-of-hypercall-page.patch queue-5.15/x86-static-call-provide-a-way-to-do-very-early-static-call-updates.patch queue-5.15/x86-static-call-fix-32-bit-build.patch queue-5.15/objtool-x86-allow-syscall-instruction.patch queue-5.15/x86-xen-remove-hypercall-page.patch queue-5.15/xen-netfront-fix-crash-when-removing-device.patch queue-5.15/x86-xen-don-t-do-pv-iret-hypercall-through-hypercall-page.patch queue-5.15/x86-xen-add-central-hypercall-functions.patch