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

brk: 1
chdir: 1
clock_gettime: 1
clock_nanosleep: 1
clone: 1
close: 1
connect: 1
dup3: 1
dup: 1
execve: 1
exit: 1
exit_group: 1
faccessat2: 1
faccessat: 1
fcntl: 1
fstat: 1
fstatfs: 1
futex: 1
getdents64: 1
geteuid: 1
getgid: 1
getpid: 1
gettid: 1
gettimeofday: 1
getuid: 1
ioctl: arg1 == TCGETS
kill: arg1 == SIGKILL || arg1 == SIGTERM
lseek: 1
madvise: 1
mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
mremap: 1
munmap: 1
nanosleep: 1
newfstatat: 1
openat: 1
pipe2: 1
ppoll: 1
prctl: arg0 == PR_SET_NAME
pread64: 1
prlimit64: 1
read: 1
readlinkat: 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
setfsgid: 1
setfsuid: 1
setgroups: 1
setpgid: 1
setresgid: 1
setresuid: 1
setsid: 1
socket: arg0 == AF_UNIX
socketpair: 1
statfs: 1
tgkill: 1
umask: 1
wait4: 1
write: 1
writev: 1
