Re: [PATCH v2 2/2] ARM: ptrace: Restore syscall skipping for tracers

Arnd Bergmann
2023-08-10T20:11:37Z

On Thu, Aug 10, 2023, at 21:54, Kees Cook wrote:
> Since commit 4e57a4ddf6b0 ("ARM: 9107/1: syscall: always store
> thread_info->abi_syscall"), the seccomp selftests "syscall_errno"
> and "syscall_faked" have been broken. Both seccomp and PTRACE depend
> on using the special value of "-1" for skipping syscalls. This value
> wasn't working because it was getting masked by __NR_SYSCALL_MASK in
> both PTRACE_SET_SYSCALL and get_syscall_nr().
>
> Explicitly test for -1 in PTRACE_SET_SYSCALL and get_syscall_nr(),
> leaving it exposed when present, allowing tracers to skip syscalls
> again.
>
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Arnd Bergmann <arnd@kernel.org>
> Cc: Lecopzer Chen <lecopzer.chen@mediatek.com>
> Cc: Oleg Nesterov <oleg@redhat.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Fixes: 4e57a4ddf6b0 ("ARM: 9107/1: syscall: always store
> thread_info->abi_syscall")
> Signed-off-by: Kees Cook <keescook@chromium.org>

Reviewed-by: Arnd Bergmann <arnd@arndb.de>