]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
alpha: add support for SECCOMP and SECCOMP_FILTER
authorMagnus Lindholm <linmag7@gmail.com>
Thu, 9 Apr 2026 17:10:15 +0000 (19:10 +0200)
committerMagnus Lindholm <linmag7@gmail.com>
Sun, 12 Apr 2026 17:13:59 +0000 (19:13 +0200)
commit55b22075f7840ef48254886758976531fe146609
tree132f8f5a788f8be3d9f835bea563a555f5454bad
parent6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
alpha: add support for SECCOMP and SECCOMP_FILTER

Add SECCOMP and SECCOMP_FILTER support to the Alpha architecture and fix
syscall entry and ptrace issues uncovered by the seccomp-bpf selftests.

The syscall entry path is reworked to consistently track syscall state
using r0, r1 and r2:
  - r1 holds the active syscall number
  - r2 preserves the original syscall number for restart
  - r0 carries the return value, with r19 (a3) indicating success/error

This allows syscall restarts to be permitted only for valid ERESTART*
return codes and prevents kernel-internal restart values from leaking to
userspace. The syscall tracing error marker is corrected to use the saved
syscall number slot, matching the Alpha ABI.

Additionally, implement minimal PTRACE_GETREGSET and PTRACE_SETREGSET
support for NT_PRSTATUS, exporting struct pt_regs directly. This fixes
ptrace-based seccomp tests that previously failed with -EIO.

With these changes, seccomp-bpf and ptrace syscall tests pass reliably on
Alpha.

Tested-by: Michael Cree <mcree@orcon.net.nz>
Signed-off-by: Magnus Lindholm <linmag7@gmail.com>
Link: https://lore.kernel.org/r/20260409171439.8759-2-linmag7@gmail.com
Signed-off-by: Magnus Lindholm <linmag7@gmail.com>
Documentation/features/seccomp/seccomp-filter/arch-support.txt
arch/alpha/Kconfig
arch/alpha/include/asm/seccomp.h [new file with mode: 0644]
arch/alpha/include/asm/syscall.h
arch/alpha/include/asm/thread_info.h
arch/alpha/kernel/entry.S
arch/alpha/kernel/ptrace.c