blob: 77f649fef6d8a0891a137f4a71144f3cd969841e [file] [edit]
# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# rseq should be first due to frequency and purpose to decrease nptl latency
rseq: 1
brk: 1
clock_getres: 1
clock_gettime: 1
clock_nanosleep: 1
# tokio spawns threads
clone: 1
close: 1
connect: 1
epoll_create1: 1
epoll_ctl: 1
epoll_wait: 1
eventfd2: 1
exit: 1
exit_group: 1
fcntl: 1
flock: 1
fstat: 1
fstatfs: 1
ftruncate: 1
futex: 1
newfstatat: 1
getdents64: 1
geteuid: 1
getpid: 1
getrandom: arg2 in ~GRND_RANDOM
getresgid: 1
getresuid: 1
getsockname: 1
gettid: 1
gettimeofday: 1
# For putting a socket in nonblocking mode
ioctl: arg1 == FIONBIO
lseek: 1
madvise: arg2 == MADV_DONTNEED
memfd_create: 1
mkdir: 1
mmap: arg2 in ~PROT_EXEC
mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
mremap: 1
munmap: 1
openat: 1
pidfd_open: 1
poll: 1
# tokio use prctl on creating threads
prctl: arg0 == PR_SET_NAME
prlimit64: 1
read: 1
readlink: 1
readlinkat: 1
recvfrom: 1
recvmsg: 1
restart_syscall: 1
rt_sigaction: 1
rt_sigprocmask: 1
rt_sigreturn: 1
sched_getaffinity: 1
sched_getattr: 1
sched_setattr: 1
sendmsg: 1
sendto: 1
set_robust_list: 1
sigaltstack: 1
# socket is required to establish DBus connection
socket: arg0 == AF_UNIX
statx: 1
tgkill: 1
timerfd_create: 1
timerfd_settime: 1
write: 1
# Resourced has CAP_SYS_PTRACE, so these are explicitly disallowed to avoid
# adding unintended dangerous capabilities.
get_robust_list: arg1 == 0
kcmp: kill
process_vm_readv: kill
process_vm_writev: kill
ptrace: kill