]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Feb 2025 15:13:36 +0000 (16:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Feb 2025 15:13:36 +0000 (16:13 +0100)
added patches:
alpha-replace-hardcoded-stack-offsets-with-autogenerated-ones.patch

queue-5.15/alpha-replace-hardcoded-stack-offsets-with-autogenerated-ones.patch [new file with mode: 0644]
queue-5.15/series

diff --git a/queue-5.15/alpha-replace-hardcoded-stack-offsets-with-autogenerated-ones.patch b/queue-5.15/alpha-replace-hardcoded-stack-offsets-with-autogenerated-ones.patch
new file mode 100644 (file)
index 0000000..f59b39b
--- /dev/null
@@ -0,0 +1,49 @@
+From 77b823fa619f97d16409ca37ad4f7936e28c5f83 Mon Sep 17 00:00:00 2001
+From: Ivan Kokshaysky <ink@unseen.parts>
+Date: Tue, 4 Feb 2025 23:35:22 +0100
+Subject: alpha: replace hardcoded stack offsets with autogenerated ones
+
+From: Ivan Kokshaysky <ink@unseen.parts>
+
+commit 77b823fa619f97d16409ca37ad4f7936e28c5f83 upstream.
+
+This allows the assembly in entry.S to automatically keep in sync with
+changes in the stack layout (struct pt_regs and struct switch_stack).
+
+Cc: stable@vger.kernel.org
+Tested-by: Maciej W. Rozycki <macro@orcam.me.uk>
+Tested-by: Matt Turner <mattst88@gmail.com>
+Reviewed-by: Maciej W. Rozycki <macro@orcam.me.uk>
+Signed-off-by: Ivan Kokshaysky <ink@unseen.parts>
+Signed-off-by: Matt Turner <mattst88@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/alpha/kernel/asm-offsets.c |    2 ++
+ arch/alpha/kernel/entry.S       |    4 ----
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+--- a/arch/alpha/kernel/asm-offsets.c
++++ b/arch/alpha/kernel/asm-offsets.c
+@@ -32,7 +32,9 @@ void foo(void)
+         DEFINE(CRED_EGID, offsetof(struct cred, egid));
+         BLANK();
++      DEFINE(SP_OFF, offsetof(struct pt_regs, ps));
+       DEFINE(SIZEOF_PT_REGS, sizeof(struct pt_regs));
++      DEFINE(SWITCH_STACK_SIZE, sizeof(struct switch_stack));
+       DEFINE(PT_PTRACED, PT_PTRACED);
+       DEFINE(CLONE_VM, CLONE_VM);
+       DEFINE(CLONE_UNTRACED, CLONE_UNTRACED);
+--- a/arch/alpha/kernel/entry.S
++++ b/arch/alpha/kernel/entry.S
+@@ -15,10 +15,6 @@
+       .set noat
+       .cfi_sections   .debug_frame
+-/* Stack offsets.  */
+-#define SP_OFF                        184
+-#define SWITCH_STACK_SIZE     320
+-
+ .macro        CFI_START_OSF_FRAME     func
+       .align  4
+       .globl  \func
index 7d21f29af32b4e9ef53ce919f4c563a332b69859..4211b34ccba93eaf174a5ebbb00c266efc25238e 100644 (file)
@@ -416,3 +416,4 @@ drm-tidss-clear-the-interrupt-status-for-interrupts-being-disabled.patch
 drm-v3d-stop-active-perfmon-if-it-is-being-destroyed.patch
 kdb-do-not-assume-write-callback-available.patch
 x86-static-call-remove-early_boot_irqs_disabled-check-to-fix-xen-pvh-dom0.patch
+alpha-replace-hardcoded-stack-offsets-with-autogenerated-ones.patch