summaryrefslogtreecommitdiff
path: root/jail/seccomp-bpf.h
diff options
context:
space:
mode:
Diffstat (limited to 'jail/seccomp-bpf.h')
-rw-r--r--jail/seccomp-bpf.h25
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