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

bind: 1
brk: 1
chdir: 1
clock_gettime: 1
clone: 1
close: 1
connect: 1
dup: 1
epoll_create1: 1
epoll_ctl: 1
epoll_pwait: 1
execve: 1
exit: 1
exit_group: 1
faccessat: 1
fallocate: 1
fcntl: 1
fdatasync: 1
fstat: 1
ftruncate: 1
futex: 1
getdents64: 1
getegid: 1
geteuid: 1
getgid: 1
getpeername: 1
getpid: 1
getrandom: 1
getresgid: 1
getresuid: 1
getsockname: 1
getsockopt: 1
gettid: 1
gettimeofday: 1
getuid: 1
#ioctl: arg1 == SIOCETHTOOL || arg1 == TCGETS || arg1 == SIOCGIFINDEX
ioctl: arg1 == 0x8946 || arg1 == 0x5401 || arg1 == 0x8933
kill: 1
lseek: 1
madvise: 1
mkdirat: 1
mlock: 1
mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
munlock: 1
munmap: 1
newfstatat: 1
openat: 1
pipe2: 1
ppoll: 1
prctl: arg0 == PR_SET_NAME
prlimit64: 1
pwrite64: 1
read: 1
recvfrom: 1
recvmsg: 1
restart_syscall: 1
rt_sigaction: 1
rt_sigprocmask: 1
rt_sigreturn: 1
rt_sigsuspend: 1
sendmmsg: 1
sendmsg: 1
sendto: 1
setgroups: 1
setpriority: 1
setresgid: 1
setresuid: 1
set_robust_list: 1
setsid: 1
setsockopt: 1
set_tid_address: 1
signalfd4: 1
# Samba uses the getifaddrs() libc function to enumerate network interfaces,
# which is implemented using netlink in glibc:
# https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/ifaddrs.c;hb=d93769405996dfc11d216ddbe415946617b5a494#l258
#       arg0 == AF_NETLINK && arg2 == NETLINK_ROUTE
socket: arg0 == AF_UNIX || arg0 == AF_INET || arg0 == AF_INET6 || \
        arg0 == AF_NETLINK && arg2 == 0
socketpair: 1
umask: 1
uname: 1
unlinkat: 1
wait4: 1
write: 1
writev: 1
