diff options
Diffstat (limited to 'jail/seccomp-bpf.h')
-rw-r--r-- | jail/seccomp-bpf.h | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/jail/seccomp-bpf.h b/jail/seccomp-bpf.h index bd59ac8..077483f 100644 --- a/jail/seccomp-bpf.h +++ b/jail/seccomp-bpf.h @@ -64,19 +64,12 @@ struct seccomp_data { #define arch_nr (offsetof(struct seccomp_data, arch)) #define syscall_arg(x) (offsetof(struct seccomp_data, args[x])) -#if defined(__i386__) -# define REG_SYSCALL REG_EAX -# define ARCH_NR AUDIT_ARCH_I386 -#elif defined(__x86_64__) +#if defined(__aarch64__) +# define REG_SYSCALL regs.regs[8] +# define ARCH_NR AUDIT_ARCH_AARCH64 +#elif defined(__amd64__) # define REG_SYSCALL REG_RAX # define ARCH_NR AUDIT_ARCH_X86_64 -#elif defined(__mips__) -# define REG_SYSCALL regs[2] -# if __BYTE_ORDER == __LITTLE_ENDIAN -# define ARCH_NR AUDIT_ARCH_MIPSEL -# else -# define ARCH_NR AUDIT_ARCH_MIPS -# endif #elif defined(__arm__) && (defined(__ARM_EABI__) || defined(__thumb__)) # define REG_SYSCALL regs.uregs[7] # if __BYTE_ORDER == __LITTLE_ENDIAN @@ -84,6 +77,16 @@ struct seccomp_data { # else # define ARCH_NR AUDIT_ARCH_ARMEB # endif +#elif defined(__i386__) +# define REG_SYSCALL REG_EAX +# define ARCH_NR AUDIT_ARCH_I386 +#elif defined(__mips__) +# define REG_SYSCALL regs[2] +# if __BYTE_ORDER == __LITTLE_ENDIAN +# define ARCH_NR AUDIT_ARCH_MIPSEL +# else +# define ARCH_NR AUDIT_ARCH_MIPS +# endif #elif defined(__PPC__) # define REG_SYSCALL regs.gpr[0] # define ARCH_NR AUDIT_ARCH_PPC |