# Copyright 2020 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# rseq should be first due to frequency and purpose to decrease nptl latency
rseq: 1

gettid: 1
openat: 1
mmap: 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
fstat: 1
newfstatat: 1
stat: 1
poll: 1
rt_sigprocmask: 1
sendto: 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
faccessat: 1
faccessat2: 1
arch_prctl: 1
munmap: 1
mremap: 1
set_tid_address: 1
set_robust_list: 1
prlimit64: 1
ioctl: arg1 == TCGETS || arg1 == SIOCGIFFLAGS || arg1 == SIOCSIFFLAGS || arg1 == FIONREAD || arg1 == TIOCGWINSZ || arg1 == FIONBIO || arg1 == SIOCGIFINDEX
lseek: 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
pread64: 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: 1
bind: 1
listen: 1
accept: 1
recvfrom: 1
getsockopt: arg1 == SOL_SOCKET
socketpair: 1
alarm: 1
setsockopt: 1
sendmmsg: 1
getpeername: 1
setpriority: 1
madvise: 1
creat: 1
rmdir: 1
unlink: 1
lstat: 1
getrandom: arg2 in ~GRND_RANDOM
getdents: 1
shutdown: 1
waitid: 1
sysinfo: 1
dup: 1
flock: 1
fstatfs: 1
nanosleep: 1
clock_nanosleep: 1
setsid: 1
process_vm_readv: 1
eventfd2: 1
