Hi Ivan,
On Thu, 2025-01-23 at 19:36 +0100, Ivan Kokshaysky wrote:
> 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
I can confirm that this patch fixes the SMP problem [1] for me.
Thanks,
Adrian
> [1] https://bugzilla.kernel.org/show_bug.cgi?id=213143
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913