diff options
author | Mike Frysinger <vapier@google.com> | 2018-01-25 00:31:45 -0500 |
---|---|---|
committer | Treehugger Robot <treehugger-gerrit@google.com> | 2018-01-25 22:43:20 +0000 |
commit | 8022e140219e9c8d99e9cba4a7d5e967bc6a4cf4 (patch) | |
tree | 6561ad763381967fd8c4607b6ebd304463c38d0c | |
parent | 1ed75bc11ec97be57fc032cbbb412aad143b54f8 (diff) | |
download | minijail-8022e140219e9c8d99e9cba4a7d5e967bc6a4cf4.tar.gz |
add seccomp syscall fallbacks
Some of the android prebuilts use linux 3.2.14 which don't include the
seccomp syscall define. Add some fallbacks for the main arches we have
support for in android. The rest we'll force to update.
Bug: None
Test: build passes for host
Change-Id: I00bd3aeaed7df32cc28aee9ccd0172a1d0bd2a6c
-rw-r--r-- | syscall_wrapper.c | 19 |
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); |