On Fri, Oct 9, 2026 at 11:27 AM Magnus Lindholm <[email protected]> wrote:
> Skip the pre-notification signal test when /proc/self/syscall is absent,
> rather than unconditionally skipping it on Alpha.

Nothing in the tree skips it on Alpha; that was only in v1.

> +/* Alpha returns positive errno in r0 with the r19/a3 error flag set. */
> +# define SYSCALL_RET_SET(_regs, _val)                                \

r19 is still the fourth syscall argument at an entry stop, so this
relies on the callers also setting the syscall number to -1. Worth
saying so in the comment.

> +     if (access("/proc/self/syscall", R_OK) != 0 && errno == ENOENT)
> +             SKIP(return, "/proc/<pid>/syscall not available on this 
> kernel");

Alpha selects HAVE_ARCH_TRACEHOOK, so the file is there and this never
triggers. I guess that is why you have 12 skips now instead of 13.
Please drop the hunk, or send it separately for UML and friends.

With that:

Reviewed-by: Matt Turner <[email protected]>

Build-tested only, with a cross compiler.

Unrelated to this patch: with the selftest setting a3 itself, do we
still need the fixup at the end of alpha_elf_gregs_set()? As it stands a
tracer cannot skip a syscall and have it return a small positive value;
it comes back as an errno. The r0 == syscall_saved_nr check in
alpha_finish_syscall_to_user_mode() has the same kind of problem.

Matt

Reply via email to