From: Cole Robinson Date: Sat, 17 Aug 2013 00:33:23 +0000 (-0400) Subject: domain_conf: Add default memballoon in PostParse callbacks X-Git-Tag: CVE-2013-4297~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d40cde318abc9ed04c860b6e9fef8b7466b1242f;p=thirdparty%2Flibvirt.git domain_conf: Add default memballoon in PostParse callbacks This should be a no-op change for now. --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index f1623f1d18..355821cfb4 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -12205,19 +12205,6 @@ virDomainDefParseXML(xmlDocPtr xml, def->memballoon = memballoon; VIR_FREE(nodes); - } else { - if (def->virtType == VIR_DOMAIN_VIRT_XEN || - def->virtType == VIR_DOMAIN_VIRT_QEMU || - def->virtType == VIR_DOMAIN_VIRT_KQEMU || - def->virtType == VIR_DOMAIN_VIRT_KVM) { - virDomainMemballoonDefPtr memballoon; - if (VIR_ALLOC(memballoon) < 0) - goto error; - memballoon->model = def->virtType == VIR_DOMAIN_VIRT_XEN ? - VIR_DOMAIN_MEMBALLOON_MODEL_XEN : - VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO; - def->memballoon = memballoon; - } } /* Parse the RNG device */ diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 7f4d17d126..926030122e 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -784,6 +784,16 @@ qemuDomainDefPostParse(virDomainDefPtr def, return -1; } } + + if (!def->memballoon) { + virDomainMemballoonDefPtr memballoon; + if (VIR_ALLOC(memballoon) < 0) + return -1; + + memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO; + def->memballoon = memballoon; + } + return 0; } diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c index cb64de65c2..6cb4f4fc31 100644 --- a/src/xen/xen_driver.c +++ b/src/xen/xen_driver.c @@ -340,6 +340,15 @@ xenDomainDeviceDefPostParse(virDomainDeviceDefPtr dev, STRNEQ(def->os.type, "hvm")) dev->data.chr->targetType = VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_XEN; + if (!def->memballoon) { + virDomainMemballoonDefPtr memballoon; + if (VIR_ALLOC(memballoon) < 0) + return -1; + + memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_XEN; + def->memballoon = memballoon; + } + return 0; }