Index: sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc |
diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc |
index 16c37a069753508d89011f77a0dc9c6f4d3f672d..a507899b0a96d5f4f84930b5caa170f4443d0f3a 100644 |
--- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc |
+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc |
@@ -37,6 +37,9 @@ |
#define MAP_STACK 0x20000 // Daisy build environment has old headers. |
#endif |
+#if defined(__mips__) && !defined(MAP_STACK) |
+#define MAP_STACK 0x40000 |
+#endif |
namespace { |
inline bool IsArchitectureX86_64() { |
@@ -63,6 +66,14 @@ inline bool IsAndroid() { |
#endif |
} |
+inline bool IsArchitectureMips() { |
+#if defined(__mips__) |
+ return true; |
+#else |
+ return false; |
+#endif |
+} |
+ |
} // namespace. |
namespace sandbox { |
@@ -158,7 +169,7 @@ ErrorCode RestrictFcntlCommands(SandboxBPF* sandbox) { |
// operator. |
// Glibc overrides the kernel's O_LARGEFILE value. Account for this. |
int kOLargeFileFlag = O_LARGEFILE; |
- if (IsArchitectureX86_64() || IsArchitectureI386()) |
+ if (IsArchitectureX86_64() || IsArchitectureI386() || IsArchitectureMips()) |
kOLargeFileFlag = 0100000; |
// TODO(jln): add TP_LONG/TP_SIZET types. |
@@ -205,7 +216,7 @@ ErrorCode RestrictFcntlCommands(SandboxBPF* sandbox) { |
sandbox->Trap(CrashSIGSYS_Handler, NULL)))))))))); |
} |
-#if defined(__i386__) |
+#if defined(__i386__) || defined(__mips__) |
ErrorCode RestrictSocketcallCommand(SandboxBPF* sandbox) { |
// Unfortunately, we are unable to restrict the first parameter to |
// socketpair(2). Whilst initially sounding bad, it's noteworthy that very |