summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2026-10-18 10:22:03 -0400
committerMagnus Lindholm <linmag7@gmail.com>2026-10-18 20:09:29 +0200
commitc5280a56dc4cbcbbfd3256a0fd58071587e928b0 (patch)
tree9cd3b7887dd6d5b83b886a28f8f32a4a03bf46a1
parent501bcb5953cc4d56537a321c00f9193e9fd68718 (diff)
alpha: use user_stack_pointer() in KSTK_ESP() and dump_elf_thread()
Both open-code the same PCB lookup. Assisted-by: Claude:claude-opus-5-5 Tested-by: Magnus Lindholm <linmag7@gmail.com> Reviewed-by: Magnus Lindholm <linmag7@gmail.com> Acked-by: Ian Rogers <irogers@google.com> Signed-off-by: Matt Turner <mattst88@gmail.com> Link: https://lore.kernel.org/r/20261018-alpha-perf-regs-v3-v3-3-52be85332c57@gmail.com Signed-off-by: Magnus Lindholm <linmag7@gmail.com>
-rw-r--r--arch/alpha/include/asm/processor.h3
-rw-r--r--arch/alpha/kernel/process.c2
2 files changed, 2 insertions, 3 deletions
diff --git a/arch/alpha/include/asm/processor.h b/arch/alpha/include/asm/processor.h
index c461a26d47b3..73251cd671e0 100644
--- a/arch/alpha/include/asm/processor.h
+++ b/arch/alpha/include/asm/processor.h
@@ -43,8 +43,7 @@ unsigned long __get_wchan(struct task_struct *p);
#define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc)
-#define KSTK_ESP(tsk) \
- ((tsk) == current ? rdusp() : task_thread_info(tsk)->pcb.usp)
+#define KSTK_ESP(tsk) user_stack_pointer(task_pt_regs(tsk))
#define cpu_relax() barrier()
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c
index 06522451f018..7861c9e767b7 100644
--- a/arch/alpha/kernel/process.c
+++ b/arch/alpha/kernel/process.c
@@ -318,7 +318,7 @@ dump_elf_thread(elf_greg_t *dest, struct pt_regs *pt, struct thread_info *ti)
dest[27] = pt->r27;
dest[28] = pt->r28;
dest[29] = pt->gp;
- dest[30] = ti == current_thread_info() ? rdusp() : ti->pcb.usp;
+ dest[30] = user_stack_pointer(pt);
dest[31] = pt->pc;
/* Once upon a time this was the PS value. Which is stupid