]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
x86/asm: Merge KSTK_ESP() implementations
authorBrian Gerst <brgerst@gmail.com>
Mon, 3 Mar 2025 18:31:11 +0000 (13:31 -0500)
committerIngo Molnar <mingo@kernel.org>
Mon, 3 Mar 2025 19:28:33 +0000 (20:28 +0100)
Commit:

  263042e4630a ("Save user RSP in pt_regs->sp on SYSCALL64 fastpath")

simplified the 64-bit implementation of KSTK_ESP() which is
now identical to 32-bit.  Merge them into a common definition.

No functional change.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20250303183111.2245129-1-brgerst@gmail.com
arch/x86/include/asm/processor.h
arch/x86/kernel/process_64.c

index c0cd10182e90c12eed155cbdf4ec1d72b76409ab..0c911083fdd1c3c74e8920ab5424e41819faa7f7 100644 (file)
@@ -668,8 +668,6 @@ static __always_inline void prefetchw(const void *x)
        .sysenter_cs            = __KERNEL_CS,                            \
 }
 
-#define KSTK_ESP(task)         (task_pt_regs(task)->sp)
-
 #else
 extern unsigned long __top_init_kernel_stack[];
 
@@ -677,8 +675,6 @@ extern unsigned long __top_init_kernel_stack[];
        .sp     = (unsigned long)&__top_init_kernel_stack,              \
 }
 
-extern unsigned long KSTK_ESP(struct task_struct *task);
-
 #endif /* CONFIG_X86_64 */
 
 extern void start_thread(struct pt_regs *regs, unsigned long new_ip,
@@ -692,6 +688,7 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip,
 #define TASK_UNMAPPED_BASE             __TASK_UNMAPPED_BASE(TASK_SIZE_LOW)
 
 #define KSTK_EIP(task)         (task_pt_regs(task)->ip)
+#define KSTK_ESP(task)         (task_pt_regs(task)->sp)
 
 /* Get/set a process' ability to use the timestamp counter instruction */
 #define GET_TSC_CTL(adr)       get_tsc_mode((adr))
index 4ca73ddfb30bca3b21cb7548aa1ff44e1e842d15..f983d2a57ac3c1bd380c0c19a6c255ff2367d435 100644 (file)
@@ -979,8 +979,3 @@ long do_arch_prctl_64(struct task_struct *task, int option, unsigned long arg2)
 
        return ret;
 }
-
-unsigned long KSTK_ESP(struct task_struct *task)
-{
-       return task_pt_regs(task)->sp;
-}