mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-28 17:44:10 +00:00
b1570f2672
In deallocate_cluster(), we call set_cluster_refcount() to unref the cluster that is being deallocated, but we never actually added the deallocated cluster to the unref_clusters list. Add clusters whose refcounts reach 0 to the unref_clusters list as well. Also add mremap() to the seccomp whitelist for the block device, since this is being triggered by libc realloc() and other devices already include it in the whitelist. BUG=chromium:850998 TEST=cargo test -p qcow; test crosvm on nami and verify that qcow file size stays bounded when creating a 1 GB file and deleting it repeatedly Change-Id: I1bdd96b2176dc13069417e0ac77f0768f9f26012 Signed-off-by: Daniel Verkamp <dverkamp@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1259404 Reviewed-by: Dylan Reid <dgreid@chromium.org>
44 lines
887 B
Text
44 lines
887 B
Text
# Copyright 2017 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
|
|
fallocate: 1
|
|
fdatasync: 1
|
|
fstat: 1
|
|
fsync: 1
|
|
ftruncate: 1
|
|
futex: 1
|
|
lseek: 1
|
|
# Disallow mmap with PROT_EXEC set. The syntax here doesn't allow bit
|
|
# negation, thus the manually negated mask constant.
|
|
mmap: arg2 in 0xfffffffb
|
|
mprotect: arg2 in 0xfffffffb
|
|
# Allow MADV_DONTDUMP only.
|
|
madvise: arg2 == 0x00000010
|
|
mremap: 1
|
|
munmap: 1
|
|
read: 1
|
|
recvfrom: 1
|
|
sched_getaffinity: 1
|
|
set_robust_list: 1
|
|
sigaltstack: 1
|
|
# Disallow clone's other than new threads.
|
|
clone: arg0 & 0x00010000
|
|
write: 1
|
|
eventfd2: 1
|
|
poll: 1
|
|
ppoll: 1
|
|
getpid: 1
|
|
# Allow PR_SET_NAME only.
|
|
prctl: arg0 == 15
|
|
restart_syscall: 1
|
|
epoll_create1: 1
|
|
epoll_ctl: 1
|
|
epoll_wait: 1
|
|
timerfd_create: 1
|
|
timerfd_gettime: 1
|
|
timerfd_settime: 1
|