[PATCH v2 3/4] alpha: make stack 16-byte aligned (most cases)
From: Ivan Kokshaysky
Date: Fri Jan 31 2025 - 05:41:58 EST
Add padding between the PAL-saved and kernel-saved registers
so that 'struct pt_regs' have an even number of 64-bit words.
This makes the stack properly aligned for most of the kernel
code, except two handlers which need special threatment.
Cc: stable@xxxxxxxxxxxxxxx
Tested-by: Magnus Lindholm <linmag7@xxxxxxxxx>
Signed-off-by: Ivan Kokshaysky <ink@unseen.parts>
---
arch/alpha/include/asm/ptrace.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/alpha/include/asm/ptrace.h b/arch/alpha/include/asm/ptrace.h
index 693d4c5b4dc7..694b82ca62f3 100644
--- a/arch/alpha/include/asm/ptrace.h
+++ b/arch/alpha/include/asm/ptrace.h
@@ -41,6 +41,8 @@ struct pt_regs {
unsigned long trap_a0;
unsigned long trap_a1;
unsigned long trap_a2;
+/* This makes the stack 16-byte aligned as GCC expects */
+ unsigned long __pad0;
/* These are saved by PAL-code: */
unsigned long ps;
unsigned long pc;
--
2.39.5