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

getpid: 1
gettid: 1
getuid32: 1
geteuid32: 1
getgid32: 1
getegid32: 1
getresuid32: 1
getresgid32: 1

clock_getres: 1
clock_getres_time64: 1
clock_gettime: 1
clock_gettime64: 1
gettimeofday: 1

socket: arg0 == AF_UNIX
socketpair: 1
connect: 1
getsockname: 1
getpeername: 1
pipe: 1
pipe2: 1
send: 1
sendmsg: 1
recv: 1
recvmsg: 1
recvfrom: 1
setsockopt: 1
getsockopt: 1

epoll_create: 1
epoll_create1: 1
epoll_wait: 1
epoll_ctl: 1
poll: 1

open: 1
openat: 1
creat: 1
read: 1
write: 1
close: 1
# For device policy to walk through the directory of interest.
getdents: 1
getdents64: 1

inotify_init: 1
inotify_add_watch: 1
inotify_rm_watch: 1
_newselect: 1

fstat64: 1
stat64: 1
lstat64: 1
_llseek: 1
fcntl64: 1
access: 1
flock: 1

futex: 1
futex_time64: 1
set_robust_list: 1
restart_syscall: 1
exit: 1
exit_group: 1
rt_sigreturn: 1
rt_sigprocmask: 1
rt_sigaction: 1
signalfd4: 1

brk: 1
mmap2: 1
munmap: 1
mprotect: 1
madvise: 1
mlock: 1
munlock: 1

clone: 1
setpriority: 1
setitimer: 1
pwrite64: 1
fdatasync: 1
fsync: 1
rename: 1
chmod: 1
fchmodat: 1
tgkill: 1
set_tid_address: 1
ARM_set_tls: 1
uname: 1
ugetrlimit: 1
nanosleep: 1
clock_nanosleep: 1
clock_nanosleep_time64: 1
sched_yield: 1
sysinfo: 1
getrandom: 1

# openssl 1.1.1d+ uses these to access the seeded state in shared memory if
# getrandom() is not implemented.
shmget: 1
shmat: 1
shmdt: 1

# These calls are attempted but apparently not necessary; return EPERM.
ioctl: return 1
prctl: return 1
prlimit64: arg2 == 0 && arg3 != 0

sched_getattr: 1
sched_setattr: 1
