On Tue, Jan 21, 2025 at 02:39:12PM +0100, Ivan Kokshaysky wrote:
> Indeed, SP_OFF in entry.S is the main suspect at the moment.

In fact, it's the odd number of longs (29) in struct pt_regs that makes
the stack misaligned by 8 bytes. The patch below works for me - no more
oopses in rcu-torture test.

Unless I'm missing something, this change shouldn't have any ill effects.

Ivan.

diff --git a/arch/alpha/include/uapi/asm/ptrace.h 
b/arch/alpha/include/uapi/asm/ptrace.h
index 5ca45934fcbb..d2e8e69a18f1 100644
--- a/arch/alpha/include/uapi/asm/ptrace.h
+++ b/arch/alpha/include/uapi/asm/ptrace.h
@@ -49,7 +49,7 @@ struct pt_regs {
        unsigned long r16;
        unsigned long r17;
        unsigned long r18;
-};
+} __attribute__((aligned(16)));        /* GCC expects 16-byte stack alignment 
*/
 
 /*
  * This is the extended stack used by signal handlers and the context

Reply via email to