aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2018-01-25 23:48:28 +0000
committerandroid-build-merger <android-build-merger@google.com>2018-01-25 23:48:28 +0000
commit6c15e79b1988a58afd2196b3c1640740dd546020 (patch)
tree6561ad763381967fd8c4607b6ebd304463c38d0c
parent5e692e3d57d7e5e7146258180bccc22fd639e06a (diff)
parent10995960989d366db7533707ccb4fe99df5fd2a2 (diff)
downloadminijail-6c15e79b1988a58afd2196b3c1640740dd546020.tar.gz
add seccomp syscall fallbacks am: 8022e14021
am: 1099596098 Change-Id: I1cefe023367ce0f855134da3501047b47541647f
-rw-r--r--syscall_wrapper.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/syscall_wrapper.c b/syscall_wrapper.c
index 5d57940..dd6f826 100644
--- a/syscall_wrapper.c
+++ b/syscall_wrapper.c
@@ -9,6 +9,25 @@
#include <sys/syscall.h>
#include <unistd.h>
+/*
+ * Older glibc builds predate seccomp inclusion. These arches are the ones
+ * AOSP needs and doesn't provide anything newer. All other targets can upgrade
+ * their kernel headers.
+ */
+#ifndef SYS_seccomp
+# if defined(__x86_64__)
+# define SYS_seccomp 317
+# elif defined(__i386__)
+# define SYS_seccomp 354
+# elif defined(__aarch64__)
+# define SYS_seccomp 277
+# elif defined(__arm__)
+# define SYS_seccomp 383
+# else
+# error "Update your kernel headers"
+# endif
+#endif
+
int sys_seccomp(unsigned int operation, unsigned int flags, void *args)
{
return syscall(SYS_seccomp, operation, flags, args);