CC linux-kselftest
On Thu, Jan 12, 2023 at 4:55 AM Michael Schmitz schmitzmic@gmail.com wrote:
Add m68k seccomp definitions to seccomp_bpf self test code.
Tested on ARAnyM.
Signed-off-by: Michael Schmitz schmitzmic@gmail.com
-- Changes from v12:
Michael Karcher:
- use correct definition of ARCH_REGS (use of struct pt_regs cause stack overflow on passing register set to user space due to size mismatch, and has some register offsets wrong)
Thanks for the update! Reviewed-by: Geert Uytterhoeven geert@linux-m68k.org i.e. will queue in the m68k for-v6.3 branch.
--- a/tools/testing/selftests/seccomp/seccomp_bpf.c +++ b/tools/testing/selftests/seccomp/seccomp_bpf.c @@ -138,6 +138,8 @@ struct seccomp_data { # define __NR_seccomp 337 # elif defined(__sh__) # define __NR_seccomp 372 +# elif defined(__mc68000__) +# define __NR_seccomp 380 # else # warning "seccomp syscall number unknown for this architecture" # define __NR_seccomp 0xffff @@ -1838,6 +1840,10 @@ TEST_F(TRACE_poke, getpid_runs_normally) # define ARCH_REGS struct pt_regs # define SYSCALL_NUM(_regs) (_regs).regs[3] # define SYSCALL_RET(_regs) (_regs).regs[0] +#elif defined(__mc68000__) +# define ARCH_REGS struct user_regs_struct +# define SYSCALL_NUM(_regs) (_regs).orig_d0 +# define SYSCALL_RET(_regs) (_regs).d0 #else # error "Do not know how to find your architecture's registers and syscalls" #endif @@ -1902,7 +1908,7 @@ const bool ptrace_entry_set_syscall_ret =
- Use PTRACE_GETREGS and PTRACE_SETREGS when available. This is useful for
- architectures without HAVE_ARCH_TRACEHOOK (e.g. User-mode Linux).
*/ -#if defined(__x86_64__) || defined(__i386__) || defined(__mips__) +#if defined(__x86_64__) || defined(__i386__) || defined(__mips__) || defined(__mc68000__) # define ARCH_GETREGS(_regs) ptrace(PTRACE_GETREGS, tracee, 0, &(_regs)) # define ARCH_SETREGS(_regs) ptrace(PTRACE_SETREGS, tracee, 0, &(_regs)) #else
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds