On Wed, Sep 02, 2026 at 09:27:45AM +0200, Stian Halseth wrote: > sparc64 now selects HAVE_ARCH_SECCOMP_FILTER, so teach seccomp_bpf > how to read and write its registers: the syscall number lives in %g1 > and the return value in %o0. The NT_PRSTATUS regset appends the > register window read back from the tracee's stack and has no exported > layout, so use the sparc-specific PTRACE_GETREGS64/PTRACE_SETREGS64 > requests instead, which transfer the uapi struct pt_regs directly. > > Errors are signaled by the carry bit in tstate with a positive errno > value in %o0, so provide a SYSCALL_RET_SET that maintains both, and > mark the arch SYSCALL_RET_SET_ON_PTRACE_EXIT since a return value > poked at entry would be overwritten by the syscall skip path, as on > powerpc. > > Passes 95 of 95 on an UltraSPARC T4-1 (16 skipped for missing > optional features such as uprobes). > > Link: https://github.com/sparclinux/issues/issues/11 > Signed-off-by: Stian Halseth <[email protected]> > --- > v2: use PTRACE_GETREGS64/PTRACE_SETREGS64 and the uapi struct pt_regs > instead of a locally defined NT_PRSTATUS regset layout, as > suggested by Kees Cook. Note the historical %g0 omission in that > layout, which shifts the u_regs indices by one.
Thanks for this cleanup! Yes, please feel free to take this through your tree. Reviewed-by: Kees Cook <[email protected]> -Kees -- Kees Cook

