# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

accept4: 1
access: 1
arch_prctl: arg0 == ARCH_SET_FS
bind: 1
brk: 1
clock_getres: 1
clock_gettime: 1
clone: 1
close: 1
connect: 1
creat: 1
dup: 1
dup2: 1
epoll_create1: 1
epoll_ctl: 1
epoll_pwait: 1
epoll_wait: 1
eventfd2: 1
execve: 1
exit: 1
exit_group: 1
fallocate: 1
fcntl: 1
fstat: 1
ftruncate: 1
futex: 1
getcwd: 1
getdents: 1
getdents64: 1
getegid: 1
geteuid: 1
getgid: 1
getresgid: 1
getresuid: 1
getrlimit: 1
getsockname: 1
getsockopt: 1
gettid: 1
gettimeofday: 1
getuid: 1
ioctl: arg1 == TCGETS
kill: 1
listen: 1
lseek: 1
lstat: 1
madvise: 1
# Make sure PROT_WRITE (bit 1) and PROT_EXEC (bit 2) are not both set.
mmap: arg2 in 0xfffffffb || arg2 in 0xfffffffd
# Make sure PROT_WRITE (bit 1) and PROT_EXEC (bit 2) are not both set.
mprotect: arg2 in 0xfffffffb || arg2 in 0xfffffffd
munmap: 1
nanosleep: 1
open: 1
openat: 1
pipe2: 1
poll: 1
pread64: 1
prctl: arg0 == PR_SET_NO_NEW_PRIVS || arg0 == PR_SET_NAME
read: 1
readlink: 1
recvmsg: 1
restart_syscall: 1
rt_sigaction: 1
rt_sigprocmask: 1
rt_sigreturn: 1
sendmsg: 1
sendto: 1
set_robust_list: 1
set_tid_address: 1
setgroups: 1
setpriority: 1
setresgid: 1
setresuid: 1
setsockopt: 1
shutdown: 1
signalfd4: 1
# Allow AF_INET too since gRPC calls it for probing available options.
socket: arg0 == AF_INET || arg0 == AF_UNIX || arg0 == AF_VSOCK
stat: 1
tgkill: 1
unlink: 1
wait4: 1
write: 1
getpid: 1
prlimit64: arg2 == 0 && arg3 != 0
pwrite64: 1
