OSDN Git Service

Fix MIPS seccomp definitions for PRIMARY and SECONDARY arch
authorLazar Trsic <Lazar.Trsic@imgtec.com>
Fri, 5 May 2017 12:29:34 +0000 (14:29 +0200)
committerLazar Trsic <Lazar.Trsic@imgtec.com>
Fri, 5 May 2017 13:27:58 +0000 (15:27 +0200)
Set correct values for PRIMARY and SECONDARY arch definitions
to match LE MIPS architectures.
This change is resolving boot problem for mips32 arch with 3.18 kernel.
This also fixes mips64 issue related to PRIMARY_ARCH definition,
but in order to boot to home screen it needs additional syscalls whitelisted
which will be introduced in separate patch.

Tested on emulator:
emulator -kernel prebuilts/qemu-kernel/mips/3.18/kernel-qemu2

Change-Id: I68dfd136c22141933a8a8c5336db01a02f00b0df

libc/seccomp/seccomp_policy.cpp

index fd2179b..fe83af0 100644 (file)
@@ -51,10 +51,10 @@ static const size_t secondary_filter_size = x86_filter_size;
 #elif defined __mips__ || defined __mips64__
 
 #define DUAL_ARCH
-#define PRIMARY_ARCH AUDIT_ARCH_MIPS64
+#define PRIMARY_ARCH AUDIT_ARCH_MIPSEL64
 static const struct sock_filter* primary_filter = mips64_filter;
 static const size_t primary_filter_size = mips64_filter_size;
-#define SECONDARY_ARCH AUDIT_ARCH_MIPS
+#define SECONDARY_ARCH AUDIT_ARCH_MIPSEL
 static const struct sock_filter* secondary_filter = mips_filter;
 static const size_t secondary_filter_size = mips_filter_size;