aboutsummaryrefslogtreecommitdiff
path: root/kvm-all.c
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2010-07-14 13:36:49 -0600
committerMarcelo Tosatti <mtosatti@redhat.com>2010-08-05 09:57:35 -0300
commit70fedd76d9fe4900651f3360725fb511a19d03d5 (patch)
treeebb65f8332f627b230451f61c6eefda7a0a71939 /kvm-all.c
parent748a4ee311b8353292e85851034cb917906aac14 (diff)
downloadqemu-70fedd76d9fe4900651f3360725fb511a19d03d5.zip
qemu-70fedd76d9fe4900651f3360725fb511a19d03d5.tar.gz
qemu-70fedd76d9fe4900651f3360725fb511a19d03d5.tar.bz2
kvm: Don't walk memory_size == 0 slots in kvm_client_migration_log
If we've unregistered a memory area, we should avoid calling qemu_get_ram_ptr() on the left over phys_offset cruft in the slot array. Now that we support removing ramblocks, the phys_offset ram_addr_t can go away and cause a lookup fault and abort. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'kvm-all.c')
-rw-r--r--kvm-all.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kvm-all.c b/kvm-all.c
index 7635f2f..736c516 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -274,6 +274,9 @@ static int kvm_set_migration_log(int enable)
for (i = 0; i < ARRAY_SIZE(s->slots); i++) {
mem = &s->slots[i];
+ if (!mem->memory_size) {
+ continue;
+ }
if (!!(mem->flags & KVM_MEM_LOG_DIRTY_PAGES) == enable) {
continue;
}