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