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

# BLKPG = 0x1269
# CDROM_GET_CAPABILITY = 0x5331
# HDIO_GETGEO = 0x301
# MTIOCGET = 0x80306d02
# SCSI_IOCTL_GET_IDLUN = 0x5382
# LOOP_CONFIGURE = 0x4c0a
# CDROM_LAST_WRITTEN = 0x5395
ioctl: arg1 == BLKALIGNOFF || arg1 == BLKDISCARD || \
       arg1 == BLKDISCARDZEROES || arg1 == BLKGETSIZE64 || \
       arg1 == BLKIOMIN || arg1 == BLKIOOPT || arg1 == BLKPBSZGET || \
       arg1 == BLKROGET || arg1 == BLKRRPART || arg1 == BLKFLSBUF || \
       arg1 == BLKSSZGET || arg1 == FIONBIO || arg1 == LOOP_CLR_FD || \
       arg1 == LOOP_CTL_GET_FREE || arg1 == LOOP_SET_FD || \
       arg1 == LOOP_SET_STATUS64 || arg1 == TCGETS || arg1 == TIOCGWINSZ || \
       arg1 == 0x1269 || arg1 == 0x5331 || arg1 == 0x301 || \
       arg1 == 0x80306d02 || arg1 == 0x5382 || \
       arg1 == 0x4c0a || arg1 == 0x5395

access: 1
arch_prctl: 1
brk: 1
chdir: 1
chmod: 1
chroot: 1
clock_getres: 1
clock_gettime: 1
clock_nanosleep: 1
clone: 1
close: 1
connect: 1
creat: 1
dup: 1
dup2: 1
execve: 1
exit: 1
exit_group: 1
faccessat: 1
faccessat2: 1
fadvise64: 1
fallocate: 1
fchdir: 1
fchmod: 1
fchown: 1
fcntl: 1
fgetxattr: 1
flistxattr: 1
fsetxattr: 1
fstat: 1
fstatfs: 1
fsync: 1
futex: 1
getcwd: 1
getdents: 1
getdents64: 1
getegid: 1
geteuid: 1
getgid: 1
getgroups: 1
getpgrp: 1
getpid: 1
getppid: 1
getrandom: 1
getresgid: 1
getresuid: 1
getsockname: 1
gettid: 1
gettimeofday: 1
getuid: 1
inotify_add_watch: 1
inotify_init1: 1
lchown: 1
lgetxattr: 1
linkat: 1
llistxattr: 1
lseek: 1
lstat: 1
mkdir: 1
mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
mount: 1
mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
munmap: 1
nanosleep: 1
newfstatat: 1
openat: 1
pipe2: 1
pipe: 1
poll: 1
prctl: arg0 == PR_GET_DUMPABLE || arg0 == PR_SET_NAME || arg0 == PR_SET_KEEPCAPS
pread64: 1
prlimit64: 1
pwrite64: 1
read: 1
readlink: 1
recvmsg: 1
restart_syscall: 1
rt_sigaction: 1
rt_sigprocmask: 1
rt_sigreturn: 1
sched_getaffinity: 1
sched_yield: 1
semctl: 1
sendfile: 1
sendmsg: 1
sendto: 1
set_robust_list: 1
set_tid_address: 1
setsockopt: 1
sigaltstack: 1
socket: arg0 == AF_UNIX
splice: 1
stat: 1
statfs: 1
statx: 1
symlinkat: 1
sync: 1
sysinfo: 1
umask: 1
umount2: 1
uname: 1
unlink: 1
utimensat: 1
wait4: 1
write: 1
