Hi Matt,

On Sat, Oct 10, 2026 at 3:28 AM Matt Turner <[email protected]> wrote:
>
> 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.
>

Thanks for taking the time to review this, will put out a v3 asap

> 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.
>

Interesting, I'll make a note on this and look into it later, you may be
on to something here.

Magnus

Reply via email to