aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);