qemu: Avoid using stale data in virDomainGetBlockInfo
authorJiri Denemark <jdenemar@redhat.com>
Fri, 20 Dec 2013 13:50:02 +0000 (14:50 +0100)
committerEric Blake <eblake@redhat.com>
Wed, 15 Jan 2014 04:36:56 +0000 (21:36 -0700)
commit4ee6ed6f50a71868fbb8a5f28edbcfd7170f5bf5
tree499c0122f9cdb903759e43c70f7b4793fe177cc6
parentc8fa19d9e385d8bae368385aece1c3f493be4e71
qemu: Avoid using stale data in virDomainGetBlockInfo

CVE-2013-6458

Generally, every API that is going to begin a job should do that before
fetching data from vm->def. However, qemuDomainGetBlockInfo does not
know whether it will have to start a job or not before checking vm->def.
To avoid using disk alias that might have been freed while we were
waiting for a job, we use its copy. In case the disk was removed in the
meantime, we will fail with "cannot find statistics for device '...'"
error message.

(cherry picked from commit b799259583bd65c0b2f5042e6c3ff19637ade881)
src/qemu/qemu_driver.c