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

gettid: 1
openat: 1
mmap2: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
clock_gettime: 1
read: 1
mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
close: 1
epoll_wait: 1
fstat64: 1
stat64: 1
poll: 1
rt_sigprocmask: 1
send: 1
recvmsg: 1
gettimeofday: 1
geteuid: 1
sendmsg: 1
write: 1
getuid: 1
getgid: 1
getegid: 1
signalfd4: 1
brk: 1
getpid: 1
epoll_ctl: 1
rt_sigaction: 1
socket: arg0 == AF_UNIX || arg0 == AF_INET || arg0 == AF_INET6 || arg0 == AF_NETLINK
connect: 1
pipe2: 1
fcntl: 1
execve: 1
uname: 1
access: 1
ARM_set_tls: 1
munmap: 1
set_tid_address: 1
set_robust_list: 1
ugetrlimit: 1
ioctl: arg1 == TCGETS || arg1 == SIOCGIFFLAGS || arg1 == SIOCSIFFLAGS || arg1 == FIONREAD || arg1 == TIOCGWINSZ || arg1 == FIONBIO
_llseek: 1
epoll_create1: 1
clock_getres: 1
getresuid: 1
getresgid: 1
getsockname: 1
restart_syscall: 1
exit: 1
exit_group: 1
rt_sigreturn: 1
pipe: 1
clone: 1
rt_sigtimedwait: 1
getdents64: 1
dup2: 1
unshare: 1
prctl: 1
open: 1
mount: 1
writev:1
umount2: 1
capget: 1
setpgid: 1
wait4: 1
futex: 1
tgkill: 1
kill: arg1 == SIGTERM
bind: 1
listen: 1
accept: 1
recvfrom: 1
sendto: 1
getsockopt: arg1 == SOL_SOCKET
socketpair: 1
poll: 1
setsockopt: 1
sendmmsg: 1
getpeername: 1
getsockname: 1
setpriority: 1
madvise: 1
creat: 1
rmdir: 1
unlink: 1
lstat: 1
getrandom: 1
getdents: 1
recvmsg: 1
writev: 1
getuid32: 1
geteuid32: 1
getgid32: 1
getegid32: 1
getresuid32: 1
getresgid32: 1
fcntl64: 1
setitimer: 1
recv: 1
lstat64: 1
shutdown: 1
