1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _ASM_X86_SECCOMP_H 3 #define _ASM_X86_SECCOMP_H 4 5 #include <asm/unistd.h> 6 7 #ifdef CONFIG_X86_32 8 #define __NR_seccomp_sigreturn __NR_sigreturn 9 #endif 10 11 #ifdef CONFIG_COMPAT 12 #include <asm/ia32_unistd.h> 13 #define __NR_seccomp_read_32 __NR_ia32_read 14 #define __NR_seccomp_write_32 __NR_ia32_write 15 #define __NR_seccomp_exit_32 __NR_ia32_exit 16 #define __NR_seccomp_sigreturn_32 __NR_ia32_sigreturn 17 #endif 18 19 #ifdef CONFIG_X86_64 20 # define SECCOMP_ARCH_NATIVE AUDIT_ARCH_X86_64 21 # define SECCOMP_ARCH_NATIVE_NR NR_syscalls 22 # define SECCOMP_ARCH_NATIVE_NAME "x86_64" 23 # ifdef CONFIG_COMPAT 24 # define SECCOMP_ARCH_COMPAT AUDIT_ARCH_I386 25 # define SECCOMP_ARCH_COMPAT_NR IA32_NR_syscalls 26 # define SECCOMP_ARCH_COMPAT_NAME "ia32" 27 # endif 28 /* 29 * x32 will have __X32_SYSCALL_BIT set in syscall number. We don't support 30 * caching them and they are treated as out of range syscalls, which will 31 * always pass through the BPF filter. 32 */ 33 #else /* !CONFIG_X86_64 */ 34 # define SECCOMP_ARCH_NATIVE AUDIT_ARCH_I386 35 # define SECCOMP_ARCH_NATIVE_NR NR_syscalls 36 # define SECCOMP_ARCH_NATIVE_NAME "ia32" 37 #endif 38 39 #include <asm-generic/seccomp.h> 40 41 #endif /* _ASM_X86_SECCOMP_H */ 42