# 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.

accept: 1
bind: 1
brk: 1
clock_gettime: 1
clone: 1
close: 1
connect: 1
dup: 1
dup3: 1
epoll_create1: 1
epoll_ctl: 1
epoll_pwait: 1
execve: 1
exit: 1
exit_group: 1
faccessat: 1
fadvise64: 1
fchmod: 1
fchmodat: 1
fchown: 1
fchownat: 1
fcntl: 1
fstat: 1
fstatfs: 1
ftruncate: 1
futex: 1
getcwd: 1
getdents64: 1
getegid: 1
geteuid: 1
getgid: 1
getpeername: 1
getpid: 1
getpgid: 1
getppid: 1
getpriority: 1
gettid: 1
getrandom: 1
getresgid: 1
getresuid: 1
getrlimit: 1
getrusage: 1
getsockname: 1
getsockopt: 1
gettimeofday: 1
getuid: 1
ioctl: 1
kill: 1
listen: 1
lseek: 1
madvise: 1
memfd_create: 1
mkdirat: 1
# Don't allow mmap or mprotect with both PROT_WRITE and PROT_EXEC
mmap: arg2 in 0xfffffffb || arg2 in 0xfffffffd
mprotect: arg2 in 0xfffffffb || arg2 in 0xfffffffd
mremap: 1
munmap: 1
nanosleep: 1
clock_nanosleep: 1
newfstatat: 1
openat: 1
pipe2: 1
ppoll: 1
prctl: 1
pread64: 1
prlimit64: 1
pselect6: 1
pwrite64: 1
read: 1
readlinkat: 1
recvfrom: 1
recvmsg: 1
renameat: 1
restart_syscall: 1
rt_sigaction: 1
rt_sigprocmask: 1
rt_sigreturn: 1
sendmmsg: 1
sendmsg: 1
sendto: 1
setpgid: 1
setgroups: 1
setpriority: 1
setresuid: 1
setrlimit: 1
set_robust_list: 1
setsockopt: 1
set_tid_address: 1
shutdown: 1
socket: arg0 == PF_FILE || arg0 == PF_INET || arg0 == PF_NETLINK
socketpair: 1
statfs: 1
sysinfo: 1
timerfd_create: 1
timerfd_settime: 1
timerfd_gettime: 1
times: 1
tgkill: 1
umask: 1
uname: 1
unlinkat: 1
wait4: 1
write: 1
# TODO(https://crbug.com/816789): Remove when gnutls is upgraded.
writev: 1
