AUDIT_ARCH on ARM and MIPS differs depending on the byte order. Thus set AUDIT_ARCH to the respective endian-specific variants.
Signed-off-by: Daniel Golle <[email protected]> --- jail/seccomp-bpf.h | 13 +++++++++++-- 1 file 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 -- 2.4.0 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
