diff options
| author | Matt Turner <mattst88@gmail.com> | 2026-10-18 10:22:03 -0400 |
|---|---|---|
| committer | Magnus Lindholm <linmag7@gmail.com> | 2026-10-18 20:09:29 +0200 |
| commit | c5280a56dc4cbcbbfd3256a0fd58071587e928b0 (patch) | |
| tree | 9cd3b7887dd6d5b83b886a28f8f32a4a03bf46a1 | |
| parent | 501bcb5953cc4d56537a321c00f9193e9fd68718 (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.h | 3 | ||||
| -rw-r--r-- | arch/alpha/kernel/process.c | 2 |
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 |
