mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-12-26 05:07:15 +00:00
b847858e66
These policies are not for aarch64 but use the 32-bit system calls. We call it aarch64 support because that's what we're targetting for the guest kernel, but it doesn't really make any sense to call the seccomp policies aarch64 when we're building a 32-bit binary. We can add real aarch64 seccomp policies when we start building a aarch64 crosvm binary. BUG=chromium:866197 TEST=emerge-kevin crosvm, run vm_CrosVmStart CQ-DEPEND=CL:1145903 Change-Id: I7c5e70fbc127e4209ed392cfcf10ea36a6dd4b2c Reviewed-on: https://chromium-review.googlesource.com/1145909 Commit-Ready: Sonny Rao <sonnyrao@chromium.org> Tested-by: Sonny Rao <sonnyrao@chromium.org> Reviewed-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org>
53 lines
1.6 KiB
Text
53 lines
1.6 KiB
Text
# 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.
|
|
|
|
close: 1
|
|
dup: 1
|
|
dup2: 1
|
|
exit_group: 1
|
|
futex: 1
|
|
gettimeofday: 1
|
|
# Whitelist vhost_vsock ioctls only.
|
|
# arg1 == VHOST_GET_FEATURES ||
|
|
# arg1 == VHOST_SET_FEATURES ||
|
|
# arg1 == VHOST_SET_OWNER ||
|
|
# arg1 == VHOST_RESET_OWNER ||
|
|
# arg1 == VHOST_SET_MEM_TABLE ||
|
|
# arg1 == VHOST_SET_LOG_BASE ||
|
|
# arg1 == VHOST_SET_LOG_FD ||
|
|
# arg1 == VHOST_SET_VRING_NUM ||
|
|
# arg1 == VHOST_SET_VRING_ADDR ||
|
|
# arg1 == VHOST_SET_VRING_BASE ||
|
|
# arg1 == VHOST_GET_VRING_BASE ||
|
|
# arg1 == VHOST_SET_VRING_KICK ||
|
|
# arg1 == VHOST_SET_VRING_CALL ||
|
|
# arg1 == VHOST_SET_VRING_ERR ||
|
|
# arg1 == VHOST_VSOCK_SET_GUEST_CID ||
|
|
# arg1 == VHOST_VSOCK_SET_RUNNING
|
|
ioctl: arg1 == 0x8008af00 || arg1 == 0x4008af00 || arg1 == 0x0000af01 || arg1 == 0x0000af02 || arg1 == 0x4008af03 || arg1 == 0x4008af04 || arg1 == 0x4004af07 || arg1 == 0x4008af10 || arg1 == 0x4028af11 || arg1 == 0x4008af12 || arg1 == 0xc008af12 || arg1 == 0x4008af20 || arg1 == 0x4008af21 || arg1 == 0x4008af22 || arg1 == 0x4008af60 || arg1 == 0x4004af61
|
|
# Disallow mmap with PROT_EXEC set. The syntax here doesn't allow bit
|
|
# negation, thus the manually negated mask constant.
|
|
mmap2: arg2 in 0xfffffffb
|
|
mprotect: arg2 in 0xfffffffb
|
|
munmap: 1
|
|
poll: 1
|
|
ppoll: 1
|
|
read: 1
|
|
connect: 1
|
|
sendto: 1
|
|
recv: 1
|
|
sched_getaffinity: 1
|
|
set_robust_list: 1
|
|
sigaltstack: 1
|
|
# Disallow clone's other than new threads.
|
|
# arg0 is flags. Because kernel.
|
|
clone: arg0 & 0x00010000
|
|
write: 1
|
|
getpid: 1
|
|
# Allow PR_SET_NAME only.
|
|
prctl: arg0 == 15
|
|
restart_syscall: 1
|
|
epoll_create1: 1
|
|
epoll_ctl: 1
|
|
epoll_wait: 1
|