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

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

index 71f8246c68d47c15d0855898ba49fd7b836418ce..9bc73728d2fd9aa5de7b403e52cb80667a669a6d 100644 (file)
@@ -170,3 +170,4 @@ x86-xen-don-t-do-pv-iret-hypercall-through-hypercall-page.patch
 x86-xen-add-central-hypercall-functions.patch
 x86-xen-use-new-hypercall-functions-instead-of-hypercall-page.patch
 x86-xen-remove-hypercall-page.patch
+x86-static-call-fix-32-bit-build.patch
diff --git a/queue-6.12/x86-static-call-fix-32-bit-build.patch b/queue-6.12/x86-static-call-fix-32-bit-build.patch
new file mode 100644 (file)
index 0000000..cb9bbfb
--- /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 int 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 int static_call_initialized;
++
+ extern int __init static_call_init(void);
+ extern void static_call_force_reinit(void);
+@@ -226,6 +227,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)                                       \
+@@ -282,6 +285,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)