]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Dec 2024 15:51:41 +0000 (16:51 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Dec 2024 15:51:41 +0000 (16:51 +0100)
added patches:
x86-static-call-fix-32-bit-build.patch

queue-5.15/series
queue-5.15/x86-static-call-fix-32-bit-build.patch [new file with mode: 0644]

index fb148a4906593cd92f21b3eed7b5d6b74b346bfe..f7fefb32813c016f93eb2cbfac54f622f176d2ec 100644 (file)
@@ -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 (file)
index 0000000..3ebffd9
--- /dev/null
@@ -0,0 +1,61 @@
+From 349f0086ba8b2a169877d21ff15a4d9da3a60054 Mon Sep 17 00:00:00 2001
+From: Juergen Gross <jgross@suse.com>
+Date: Wed, 18 Dec 2024 09:02:28 +0100
+Subject: x86/static-call: fix 32-bit build
+
+From: Juergen Gross <jgross@suse.com>
+
+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@canb.auug.org.au>
+Fixes: 0ef8047b737d ("x86/static-call: provide a way to do very early static-call updates")
+Signed-off-by: Juergen Gross <jgross@suse.com>
+Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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)