diff options
author | Jiri Denemark <jdenemar@redhat.com> | 2013-12-20 15:41:04 +0100 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2014-01-15 11:01:57 -0700 |
commit | c51986ba820dde30e48b4f1694862c3cf4d8b7ec (patch) | |
tree | 367412989ca5092f5f722b8ea7a71c14e676d1a2 | |
parent | a5987e23d5ff7a79a5c382b964ce3132c593e36d (diff) | |
download | libvirt-c51986ba820dde30e48b4f1694862c3cf4d8b7ec.tar.gz |
qemu: Fix job usage in virDomainGetBlockIoTune
CVE-2013-6458
Every API that is going to begin a job should do that before fetching
data from vm->def.
(cherry picked from commit 3b56425938e2f97208d5918263efa0d6439e4ecd)
-rw-r--r-- | src/qemu/qemu_driver.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index a603d5fbf7..d4c90efd39 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14052,12 +14052,6 @@ qemuDomainGetBlockIoTune(virDomainPtr dom, goto cleanup; } - device = qemuDiskPathToAlias(vm, disk, NULL); - - if (!device) { - goto cleanup; - } - if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0) goto cleanup; @@ -14065,6 +14059,11 @@ qemuDomainGetBlockIoTune(virDomainPtr dom, &persistentDef) < 0) goto endjob; + device = qemuDiskPathToAlias(vm, disk, NULL); + if (!device) { + goto endjob; + } + if (flags & VIR_DOMAIN_AFFECT_LIVE) { priv = vm->privateData; qemuDomainObjEnterMonitor(driver, vm); |