[PATCH v18 04/14] arm64: ptrace: Rename and clean up syscall_trace_enter()
From: Jinjie Ruan <hidden>
Date: 2026-09-02 09:55:31
Also in:
lkml
Subsystem:
arm64 port (aarch64 architecture), ptrace support, the rest · Maintainers:
Catalin Marinas, Will Deacon, Oleg Nesterov, Linus Torvalds
Rename syscall_trace_enter() to arm64_syscall_trace_enter() to avoid name collisions and clarify the boundary when arm64 eventually switches to the generic entry infrastructure. In addition, replace direct accesses to regs->syscallno with the standard syscall_get_nr() helper for both trace_sys_enter() and the return value. This decouples the tracing logic from architecture-specific struct pt_regs layouts, aligning the implementation with the generic entry pattern. No functional changes intended; this is a preparation step for converting arm64 to the generic entry infrastructure. Cc: Mark Rutland <mark.rutland@arm.com> Cc: Will Deacon <will@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Reviewed-by: Linus Walleij <linusw@kernel.org> Signed-off-by: Jinjie Ruan <redacted> --- arch/arm64/include/asm/syscall.h | 2 +- arch/arm64/kernel/ptrace.c | 6 +++--- arch/arm64/kernel/syscall.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/include/asm/syscall.h b/arch/arm64/include/asm/syscall.h
index 5e4c7fc44f73..d1dabdcde41c 100644
--- a/arch/arm64/include/asm/syscall.h
+++ b/arch/arm64/include/asm/syscall.h@@ -120,7 +120,7 @@ static inline int syscall_get_arch(struct task_struct *task) return AUDIT_ARCH_AARCH64; } -int syscall_trace_enter(struct pt_regs *regs); +int arm64_syscall_trace_enter(struct pt_regs *regs); void syscall_trace_exit(struct pt_regs *regs); #endif /* __ASM_SYSCALL_H */
diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c
index bb1b3261b767..e831b2520052 100644
--- a/arch/arm64/kernel/ptrace.c
+++ b/arch/arm64/kernel/ptrace.c@@ -2469,7 +2469,7 @@ static inline void syscall_enter_audit(struct pt_regs *regs) } #endif -int syscall_trace_enter(struct pt_regs *regs) +int arm64_syscall_trace_enter(struct pt_regs *regs) { unsigned long flags = read_thread_flags(); int ret;
@@ -2490,12 +2490,12 @@ int syscall_trace_enter(struct pt_regs *regs) } if (test_thread_flag(TIF_SYSCALL_TRACEPOINT)) - trace_sys_enter(regs, regs->syscallno); + trace_sys_enter(regs, syscall_get_nr(current, regs)); if (unlikely(audit_context())) syscall_enter_audit(regs); - return regs->syscallno; + return syscall_get_nr(current, regs); } static inline bool report_single_step(unsigned long flags)
diff --git a/arch/arm64/kernel/syscall.c b/arch/arm64/kernel/syscall.c
index 358ddfbf1401..3e78e159b2a1 100644
--- a/arch/arm64/kernel/syscall.c
+++ b/arch/arm64/kernel/syscall.c@@ -113,7 +113,7 @@ static void el0_svc_common(struct pt_regs *regs, int scno, int sc_nr, */ if (scno == NO_SYSCALL) syscall_set_return_value(current, regs, -ENOSYS, 0); - scno = syscall_trace_enter(regs); + scno = arm64_syscall_trace_enter(regs); if (scno == NO_SYSCALL) goto trace_exit; }
--
2.34.1