aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2018-01-26 02:02:29 +0000
committerandroid-build-merger <android-build-merger@google.com>2018-01-26 02:02:29 +0000
commit33c97ac4cf4055fbf8ec4170233766072188d1c3 (patch)
tree6561ad763381967fd8c4607b6ebd304463c38d0c
parent89d5d755005cae84e2ea2c3cf57a89e1e66910ad (diff)
parent6c15e79b1988a58afd2196b3c1640740dd546020 (diff)
downloadminijail-33c97ac4cf4055fbf8ec4170233766072188d1c3.tar.gz
add seccomp syscall fallbacks am: 8022e14021 am: 1099596098
am: 6c15e79b19 Change-Id: Ibc3a18fdda6d34765755eab2b2d5bb0ab9c09681
-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);