[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/2] vmdk: Fix possible segfault with non-VMDK backi
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH 0/2] vmdk: Fix possible segfault with non-VMDK backing |
Date: |
Mon, 2 Jul 2018 23:07:19 +0200 |
The VMDK driver assumes that its backing file is always a VMDK file,
too, because it verifies that when creating the overlay. However, that
verification means nothing at runtime, and consequently you can assign
non-VMDK backing files to a VMDK node. This then breaks because the
driver accesses the backing node as a VMDK node to read its supposed CID
to compare it with the overlay's parentCID entry -- which usually fails,
either in a benign way (we read from a garbage offset, and then we read
garbage or get a read error straight away), or we get a segfault
(because the backing node does not have a respective file child).
Anyway, we just shouldn't do it and instead check whether the backing
file is a VMDK node before treating it like one.
(This fixes
http://lists.nongnu.org/archive/html/qemu-block/2018-06/msg01268.html)
Max Reitz (2):
vmdk: Fix possible segfault with non-VMDK backing
iotests: Add VMDK backing file correlation test
block/vmdk.c | 6 ++
tests/qemu-iotests/225 | 132 +++++++++++++++++++++++++++++++++++++
tests/qemu-iotests/225.out | 24 +++++++
tests/qemu-iotests/group | 1 +
4 files changed, 163 insertions(+)
create mode 100755 tests/qemu-iotests/225
create mode 100644 tests/qemu-iotests/225.out
--
2.17.1
- [Qemu-devel] [PATCH 0/2] vmdk: Fix possible segfault with non-VMDK backing,
Max Reitz <=