]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
alpha: replace hardcoded stack offsets with autogenerated ones
authorIvan Kokshaysky <ink@unseen.parts>
Tue, 4 Feb 2025 22:35:22 +0000 (23:35 +0100)
committerMatt Turner <mattst88@gmail.com>
Fri, 14 Feb 2025 19:03:40 +0000 (14:03 -0500)
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>
arch/alpha/kernel/asm-offsets.c
arch/alpha/kernel/entry.S

index 4cfeae42c79ac73f92908da10ce8f9da81154096..e9dad60b147f33e23ea6f59de654df2c6ad52a28 100644 (file)
@@ -19,9 +19,13 @@ static void __used foo(void)
        DEFINE(TI_STATUS, offsetof(struct thread_info, status));
        BLANK();
 
+       DEFINE(SP_OFF, offsetof(struct pt_regs, ps));
        DEFINE(SIZEOF_PT_REGS, sizeof(struct pt_regs));
        BLANK();
 
+       DEFINE(SWITCH_STACK_SIZE, sizeof(struct switch_stack));
+       BLANK();
+
        DEFINE(HAE_CACHE, offsetof(struct alpha_machine_vector, hae_cache));
        DEFINE(HAE_REG, offsetof(struct alpha_machine_vector, hae_register));
 }
index dd26062d75b3c5691d2ea546fa53a22f1c1b0eaa..6fb38365539d45f3b596313e38a94fff047e8ba2 100644 (file)
        .set noat
        .cfi_sections   .debug_frame
 
-/* Stack offsets.  */
-#define SP_OFF                 184
-#define SWITCH_STACK_SIZE      64
-
 .macro CFI_START_OSF_FRAME     func
        .align  4
        .globl  \func