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

