summary refs log tree commit diff
path: root/seccomp/arm
diff options
context:
space:
mode:
authorDaniel Verkamp <dverkamp@chromium.org>2018-10-03 10:44:34 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-10-05 07:54:49 -0700
commitb1570f2672ada3f5c4b9592887186413d80e66de (patch)
tree913d43a3bd3d3b2351b0511938fbc50bc6939921 /seccomp/arm
parentc8986f14a8dd9f256d6faed55996d955b50ff923 (diff)
downloadcrosvm-b1570f2672ada3f5c4b9592887186413d80e66de.tar
crosvm-b1570f2672ada3f5c4b9592887186413d80e66de.tar.gz
crosvm-b1570f2672ada3f5c4b9592887186413d80e66de.tar.bz2
crosvm-b1570f2672ada3f5c4b9592887186413d80e66de.tar.lz
crosvm-b1570f2672ada3f5c4b9592887186413d80e66de.tar.xz
crosvm-b1570f2672ada3f5c4b9592887186413d80e66de.tar.zst
crosvm-b1570f2672ada3f5c4b9592887186413d80e66de.zip
qcow: track deallocated clusters as unreferenced
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>
Diffstat (limited to 'seccomp/arm')
-rw-r--r--seccomp/arm/block_device.policy1
1 files changed, 1 insertions, 0 deletions
diff --git a/seccomp/arm/block_device.policy b/seccomp/arm/block_device.policy
index 2054d35..6b1e415 100644
--- a/seccomp/arm/block_device.policy
+++ b/seccomp/arm/block_device.policy
@@ -18,6 +18,7 @@ _llseek: 1
 # negation, thus the manually negated mask constant.
 mmap2: arg2 in 0xfffffffb
 mprotect: arg2 in 0xfffffffb
+mremap: 1
 munmap: 1
 read: 1
 recv: 1