[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 7/7] qcow2: Assert that the crypto header does no
From: |
Alberto Garcia |
Subject: |
[Qemu-block] [PATCH v2 7/7] qcow2: Assert that the crypto header does not overlap other metadata |
Date: |
Fri, 3 Nov 2017 16:18:56 +0200 |
The crypto header is initialized only when QEMU is creating a new
image, so there's no chance of this happening on a corrupted image.
If QEMU is really trying to allocate the header overlapping other
existing metadata sections then this is a serious bug in QEMU itself
so let's add an assertion.
Signed-off-by: Alberto Garcia <address@hidden>
---
block/qcow2.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/qcow2.c b/block/qcow2.c
index defc1fe49f..b3d66a0e88 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -126,6 +126,7 @@ static ssize_t qcow2_crypto_hdr_init_func(QCryptoBlock
*block, size_t headerlen,
/* Zero fill remaining space in cluster so it has predictable
* content in case of future spec changes */
clusterlen = size_to_clusters(s, headerlen) * s->cluster_size;
+ assert(qcow2_pre_write_overlap_check(bs, 0, ret, clusterlen) == 0);
ret = bdrv_pwrite_zeroes(bs->file,
ret + headerlen,
clusterlen - headerlen, 0);
--
2.11.0
[Qemu-block] [PATCH v2 2/7] qcow2: Prevent allocating L2 tables at offset 0, Alberto Garcia, 2017/11/03
[Qemu-block] [PATCH v2 6/7] qcow2: Add iotest for an empty refcount table, Alberto Garcia, 2017/11/03
[Qemu-block] [PATCH v2 1/7] qcow2: Prevent allocating refcount blocks at offset 0, Alberto Garcia, 2017/11/03