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

# Generated by security.USBGuard
read: 1
newfstatat: 1
openat: 1
close: 1
write: 1
mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
fstat: 1
ppoll: 1
readlinkat: 1
futex: 1
getpid: 1
sendto: 1
recvmsg: 1
brk: 1
fcntl: 1
set_robust_list: 1
eventfd2: 1
munmap: 1
clone: 1
getdents64: 1
epoll_ctl: 1
lseek: 1
rt_sigaction: 1
rt_sigprocmask: 1
sendmsg: 1
setsockopt: 1
socket: arg0 == AF_NETLINK || arg0 == AF_UNIX
exit: 1
faccessat: 1
faccessat2: 1
madvise: 1
pselect6: 1
bind: 1
prctl: arg0 == PR_SET_NAME
prlimit64: 1
recvfrom: 1
connect: 1
epoll_pwait: 1
exit_group: 1
getegid: 1
geteuid: 1
set_tid_address: 1
umask: 1
epoll_create1: 1
getuid: 1
ioctl: arg1 == TCGETS
listen: 1
pipe2: 1
restart_syscall: 1
rt_sigtimedwait: 1
shutdown: 1
uname: 1

# Additional syscalls not covered by security.USBGuard
accept: 1
capget: 1
capset: 1
clock_getres: 1
clock_gettime: 1
fchmod: 1
fchown: 1
ftruncate: 1
# These constants are RLIMIT_NOFILE and RLIMIT_STACK from <asm-generic/resource.h>.
getrlimit: arg0 == 7 || arg0 == 3
getsockname: 1
gettid: 1
gettimeofday: 1
rt_sigreturn: 1
sched_getattr: 1
sched_setattr: 1
setpgid: 1
unlinkat: 1
