[PATCH v3 1/3] alpha: replace hardcoded stack offsets with autogenerated ones

Ivan Kokshaysky posted 3 patches 10 months, 2 weeks ago
[PATCH v3 1/3] alpha: replace hardcoded stack offsets with autogenerated ones
Posted by Ivan Kokshaysky 10 months, 2 weeks ago
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
Reviewed-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Ivan Kokshaysky <ink@unseen.parts>
---
 arch/alpha/kernel/asm-offsets.c | 4 ++++
 arch/alpha/kernel/entry.S       | 4 ----
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/alpha/kernel/asm-offsets.c b/arch/alpha/kernel/asm-offsets.c
index 4cfeae42c79a..e9dad60b147f 100644
--- a/arch/alpha/kernel/asm-offsets.c
+++ b/arch/alpha/kernel/asm-offsets.c
@@ -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));
 }
diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S
index dd26062d75b3..6fb38365539d 100644
--- 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	64
-
 .macro	CFI_START_OSF_FRAME	func
 	.align	4
 	.globl	\func
-- 
2.47.2
Re: [PATCH v3 1/3] alpha: replace hardcoded stack offsets with autogenerated ones
Posted by Maciej W. Rozycki 10 months, 2 weeks ago
On Tue, 4 Feb 2025, Ivan Kokshaysky wrote:

> 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
> Reviewed-by: Maciej W. Rozycki <macro@orcam.me.uk>
> Signed-off-by: Ivan Kokshaysky <ink@unseen.parts>
> ---

Tested-by: Maciej W. Rozycki <macro@orcam.me.uk>

  Maciej