# Copyright 2014 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
getuid: 1
geteuid: 1
getgid: 1
getegid: 1
getresuid: 1
getresgid: 1

clock_getres: 1
clock_gettime: 1
gettimeofday: 1

epoll_create1: 1
epoll_pwait: 1
epoll_ctl: 1
ppoll: 1

openat: 1
read: 1
write: 1
writev: 1
close: 1
fstat: 1
fstatfs: 1
newfstatat: 1
lseek: 1
fcntl: 1
readlinkat: 1
faccessat: 1
faccessat2: 1
pipe2: 1
socket: arg0 == AF_UNIX
connect: 1
sendto: 1
getsockname: 1
sendmsg: 1
recvmsg: 1

futex: 1

restart_syscall: 1
exit: 1
exit_group: 1
rt_sigreturn: 1
sigaltstack: 1
personality: 1

brk: 1
# Don't allow mmap with both PROT_WRITE and PROT_EXEC.
mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
munmap: 1
madvise: 1
mlock: 1
munlock: 1

# Allow thread creation.
# Don't allow mprotect with PROT_EXEC.
mprotect: arg2 in ~PROT_EXEC
clone: 1
set_robust_list: 1
set_tid_address: 1
tgkill: 1
sched_yield: 1
sysinfo: 1
getrandom: 1

rt_sigprocmask: 1
signalfd4: 1
getpriority: 1
setpriority: 1
chdir: 1
nanosleep: 1
clock_nanosleep: 1

# These are attempted but apparently not necessary; return EPERM.
ioctl: return 1
prctl: return 1

# Allow metrics sending.
flock: 1

sched_getattr: 1
sched_setattr: 1
