From ce28f3ce3a368972ce0ed61f0cfc827ed3accc12 Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Thu, 29 Nov 2012 14:07:59 -0700 Subject: [PATCH] --- yaml --- r: 343551 b: refs/heads/master c: 5419369ed6bd4cf711fdda5e52a5999b940413f5 h: refs/heads/master i: 343549: b1397e72bf4f2678380646f3b3de2eaa7af5423f 343547: 2398588be16ecf266a575cf99e87724beed45b07 343543: e052b94b77aca56bcdf886c112ece624424e2a84 343535: 01139a7b12bfd0d1a3ac873d76e8e8f4baabe61f 343519: bf793749d72b98a206ecf806285933f0eec001c1 343487: f1cce6d5a3a51f68bd051cc2cdca0a2475a57849 343423: 2d9d1eefec5e3001c6f8782facf842f5ef9ed47e 343295: 2603108975e548b79c71223f479fed427229f189 343039: 3256d75475a754ab5e290eb2f8426f08f4328f4c v: v3 --- [refs] | 2 +- trunk/virt/kvm/kvm_main.c | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 7decedd47073..3a025e372b00 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5a560f8b5ed361c7be783d5a671ea26ca4d6fa01 +refs/heads/master: 5419369ed6bd4cf711fdda5e52a5999b940413f5 diff --git a/trunk/virt/kvm/kvm_main.c b/trunk/virt/kvm/kvm_main.c index e6cfd4344d28..1cd693a76a51 100644 --- a/trunk/virt/kvm/kvm_main.c +++ b/trunk/virt/kvm/kvm_main.c @@ -714,8 +714,7 @@ int __kvm_set_memory_region(struct kvm *kvm, int r; gfn_t base_gfn; unsigned long npages; - unsigned long i; - struct kvm_memory_slot *memslot; + struct kvm_memory_slot *memslot, *slot; struct kvm_memory_slot old, new; struct kvm_memslots *slots, *old_memslots; @@ -766,13 +765,11 @@ int __kvm_set_memory_region(struct kvm *kvm, /* Check for overlaps */ r = -EEXIST; - for (i = 0; i < KVM_MEMORY_SLOTS; ++i) { - struct kvm_memory_slot *s = &kvm->memslots->memslots[i]; - - if (s == memslot || !s->npages) + kvm_for_each_memslot(slot, kvm->memslots) { + if (slot->id >= KVM_MEMORY_SLOTS || slot == memslot) continue; - if (!((base_gfn + npages <= s->base_gfn) || - (base_gfn >= s->base_gfn + s->npages))) + if (!((base_gfn + npages <= slot->base_gfn) || + (base_gfn >= slot->base_gfn + slot->npages))) goto out_free; }