Patchwork [1/2] kvm: Don't walk memory_size == 0 slots in kvm_client_migration_log

login
register
mail settings
Submitter Marcelo Tosatti
Date Aug. 10, 2010, 3:12 p.m.
Message ID <70fedd76d9fe4900651f3360725fb511a19d03d5.1281453126.git.mtosatti@redhat.com>
Download mbox | patch
Permalink /patch/61396/
State New
Headers show

Comments

Marcelo Tosatti - Aug. 10, 2010, 3:12 p.m.
From: Alex Williamson <alex.williamson@redhat.com>

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>
---
 kvm-all.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

Patch

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;
         }