summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jail/seccomp-bpf.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/jail/seccomp-bpf.h b/jail/seccomp-bpf.h
index 40fe7b9..82c0669 100644
--- a/jail/seccomp-bpf.h
+++ b/jail/seccomp-bpf.h
@@ -20,6 +20,7 @@
#include <signal.h>
#include <string.h>
#include <unistd.h>
+#include <endian.h>
#include <sys/prctl.h>
#ifndef PR_SET_NO_NEW_PRIVS
@@ -67,10 +68,18 @@ struct seccomp_data {
# define ARCH_NR AUDIT_ARCH_X86_64
#elif defined(__mips__)
# define REG_SYSCALL regs[2]
-# define ARCH_NR AUDIT_ARCH_MIPSEL
+# 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]
-# define ARCH_NR AUDIT_ARCH_ARM
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+# define ARCH_NR AUDIT_ARCH_ARM
+# else
+# define ARCH_NR AUDIT_ARCH_ARMEB
+# endif
#else
# warning "Platform does not support seccomp filter yet"
# define REG_SYSCALL 0