aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2018-01-25 23:46:39 +0000
committerandroid-build-merger <android-build-merger@google.com>2018-01-25 23:46:39 +0000
commit10995960989d366db7533707ccb4fe99df5fd2a2 (patch)
tree6561ad763381967fd8c4607b6ebd304463c38d0c
parentb51e0ca61e14ec29b3251ad371ca0574e38e1cf7 (diff)
parent8022e140219e9c8d99e9cba4a7d5e967bc6a4cf4 (diff)
downloadminijail-10995960989d366db7533707ccb4fe99df5fd2a2.tar.gz
add seccomp syscall fallbacks
am: 8022e14021 Change-Id: Ic6501dad6610f047340727dda9f2aa15d9ba120b
-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);