]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: qemu: Taint VMs using custom device tree blob
authorPeter Krempa <pkrempa@redhat.com>
Fri, 26 Jun 2015 08:59:33 +0000 (10:59 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 1 Jul 2015 08:34:25 +0000 (10:34 +0200)
Using a custom device tree image may cause unexpected behavior in
architectures that use this approach to detect platform devices. Since
usually the device tree is generated by qemu and thus it's not normally
used let's taint VMs using it to make it obvious as a possible source of
problems.

src/conf/domain_conf.c
src/conf/domain_conf.h
src/qemu/qemu_domain.c

index ad641ed67bc188ee3a5253249305e906471bda52..006e04effcdc858f00d8d8d06a99f9363154b76a 100644 (file)
@@ -102,7 +102,8 @@ VIR_ENUM_IMPL(virDomainTaint, VIR_DOMAIN_TAINT_LAST,
               "external-launch",
               "host-cpu",
               "hook-script",
-              "cdrom-passthrough");
+              "cdrom-passthrough",
+              "custom-dtb");
 
 VIR_ENUM_IMPL(virDomainVirt, VIR_DOMAIN_VIRT_LAST,
               "qemu",
index aeba5a50a639e5d8a1a2d97a9a2fa321e8c0abb5..2bdbff1e140bf49a3c337640341b3675b078672e 100644 (file)
@@ -2305,6 +2305,7 @@ typedef enum {
     VIR_DOMAIN_TAINT_HOST_CPU,         /* Host CPU passthrough in use */
     VIR_DOMAIN_TAINT_HOOK,             /* Domain (possibly) changed via hook script */
     VIR_DOMAIN_TAINT_CDROM_PASSTHROUGH,/* CDROM passthrough */
+    VIR_DOMAIN_TAINT_CUSTOM_DTB,       /* Custom device tree blob was specifed */
 
     VIR_DOMAIN_TAINT_LAST
 } virDomainTaintFlags;
index 404489c9c97c20700a1ba12d84102a399f7d44e9..f9bf32c61d805932121aff3ee4b84b2f37730bf2 100644 (file)
@@ -2117,6 +2117,9 @@ void qemuDomainObjCheckTaint(virQEMUDriverPtr driver,
     for (i = 0; i < obj->def->nnets; i++)
         qemuDomainObjCheckNetTaint(driver, obj, obj->def->nets[i], logFD);
 
+    if (obj->def->os.dtb)
+        qemuDomainObjTaint(driver, obj, VIR_DOMAIN_TAINT_CUSTOM_DTB, logFD);
+
     virObjectUnref(cfg);
 }