Re: [PATCH] arm64: syscall: Ensure saved x0 is kept in-sync with tracer updates

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild
Message-ID <[email protected]>
:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: 

BCC: [email protected]
CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Will Deacon <[email protected]>
TO: [email protected]
CC: [email protected]
CC: Will Deacon <[email protected]>
CC: Kees Cook <[email protected]>
CC: Jinjie Ruan <[email protected]>
CC: Mark Rutland <[email protected]>
CC: Yiqi Sun <[email protected]>
CC: Catalin Marinas <[email protected]>

Hi Will,

kernel test robot noticed the following build errors:

[auto build test ERROR on linux-review/Yiqi-Sun/arm64-ptrace-use-live-x0-for-seccomp-and-audit-after-ptrace/20260815-210721]

url:    https://github.com/intel-lab-lkp/linux/commits/Will-Deacon/arm64-syscall-Ensure-saved-x0-is-kept-in-sync-with-tracer-updates/20260815-220235
base:   https://github.com/intel-lab-lkp/linux Yiqi-Sun/arm64-ptrace-use-live-x0-for-seccomp-and-audit-after-ptrace/20260815-210721
patch link:    https://lore.kernel.org/r/20260714143600.23853-1-will%40kernel.org
patch subject: [PATCH] arm64: syscall: Ensure saved x0 is kept in-sync with tracer updates
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20260817/[email protected]/config)
compiler: aarch64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260817/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

All errors (new ones prefixed by >>):

>> arch/arm64/kernel/ptrace.c:2461:13: error: conflicting types for 'update_syscall_orig_x0_after_ptrace'; have 'void(struct pt_regs *)'
    2461 | static void update_syscall_orig_x0_after_ptrace(struct pt_regs *regs)
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kernel/ptrace.c:563:13: note: previous definition of 'update_syscall_orig_x0_after_ptrace' with type 'void(struct task_struct *)'
     563 | static void update_syscall_orig_x0_after_ptrace(struct task_struct *target)
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +2461 arch/arm64/kernel/ptrace.c

3157858feff8919 AKASHI Takahiro 2014-04-30  2460  
f579bf33f3c09c9 Will Deacon     2026-07-14 @2461  static void update_syscall_orig_x0_after_ptrace(struct pt_regs *regs)
f579bf33f3c09c9 Will Deacon     2026-07-14  2462  {
f579bf33f3c09c9 Will Deacon     2026-07-14  2463  	/*
f579bf33f3c09c9 Will Deacon     2026-07-14  2464  	 * Keep orig_x0 authoritative so that seccomp (via
f579bf33f3c09c9 Will Deacon     2026-07-14  2465  	 * syscall_get_arguments()), audit and the restart path all see the same
f579bf33f3c09c9 Will Deacon     2026-07-14  2466  	 * first argument the syscall is dispatched with, even if it has been
f579bf33f3c09c9 Will Deacon     2026-07-14  2467  	 * updated by a tracer. Skip this for NO_SYSCALL (set either by the user
f579bf33f3c09c9 Will Deacon     2026-07-14  2468  	 * or the tracer), as regs[0] holds the return value (see the comment in
f579bf33f3c09c9 Will Deacon     2026-07-14  2469  	 * el0_svc_common()) and can be unwound using syscall_rollback().
f579bf33f3c09c9 Will Deacon     2026-07-14  2470  	 * For compat tasks, orig_r0 is provided directly through GPR index 17.
f579bf33f3c09c9 Will Deacon     2026-07-14  2471  	 */
f579bf33f3c09c9 Will Deacon     2026-07-14  2472  	if (!is_compat_task() && regs->syscallno != NO_SYSCALL)
f579bf33f3c09c9 Will Deacon     2026-07-14  2473  		regs->orig_x0 = regs->regs[0];
f579bf33f3c09c9 Will Deacon     2026-07-14  2474  }
f579bf33f3c09c9 Will Deacon     2026-07-14  2475  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.