From: Greg Kroah-Hartman Date: Thu, 19 Dec 2024 15:51:41 +0000 (+0100) Subject: 5.15-stable patches X-Git-Tag: v5.4.288~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a6509063d80ced8f36269de38ba3f883ba74604f;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: x86-static-call-fix-32-bit-build.patch --- diff --git a/queue-5.15/series b/queue-5.15/series index fb148a49065..f7fefb32813 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -49,3 +49,4 @@ x86-xen-add-central-hypercall-functions.patch x86-xen-use-new-hypercall-functions-instead-of-hypercall-page.patch x86-xen-remove-hypercall-page.patch alsa-usb-audio-fix-a-dma-to-stack-memory-bug.patch +x86-static-call-fix-32-bit-build.patch diff --git a/queue-5.15/x86-static-call-fix-32-bit-build.patch b/queue-5.15/x86-static-call-fix-32-bit-build.patch new file mode 100644 index 00000000000..3ebffd9b8ef --- /dev/null +++ b/queue-5.15/x86-static-call-fix-32-bit-build.patch @@ -0,0 +1,61 @@ +From 349f0086ba8b2a169877d21ff15a4d9da3a60054 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Wed, 18 Dec 2024 09:02:28 +0100 +Subject: x86/static-call: fix 32-bit build + +From: Juergen Gross + +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 +Fixes: 0ef8047b737d ("x86/static-call: provide a way to do very early static-call updates") +Signed-off-by: Juergen Gross +Acked-by: Peter Zijlstra (Intel) +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + 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 + +-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)