qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2] vmdk: refuse to open higher version than support


From: Fam Zheng
Subject: [Qemu-devel] [PATCH v2] vmdk: refuse to open higher version than supported
Date: Thu, 13 Jun 2013 11:21:29 +0800

Refuse to open higher version for safety.

Although we try to be compatible with published VMDK spec, VMware has
newer version from ESXi 5.1 exported OVF/OVA, which we have no knowledge
what's changed in it. And it is very likely to have more new versions in
the future, so it's not safe to open them blindly.

Signed-off-by: Fam Zheng <address@hidden>

---

v2: Report error and return -ENOTSUP.

---
 block/vmdk.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/block/vmdk.c b/block/vmdk.c
index 608daaf..9dda2f5 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -558,6 +558,15 @@ static int vmdk_open_vmdk4(BlockDriverState *bs,
         header = footer.header;
     }
 
+    if (le32_to_cpu(header.version) >= 3) {
+        char buf[64];
+        snprintf(buf, sizeof(buf), "VMDK version %d",
+                 le32_to_cpu(header.version));
+        qerror_report(QERR_UNKNOWN_BLOCK_FORMAT_FEATURE,
+                bs->device_name, "vmdk", buf);
+        return -ENOTSUP;
+    }
+
     l1_entry_sectors = le32_to_cpu(header.num_gtes_per_gte)
                         * le64_to_cpu(header.granularity);
     if (l1_entry_sectors == 0) {
-- 
1.8.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]