KVM: MMU: make __kvm_mmu_free_some_pages handle empty list
authorIzik Eidus <ieidus@redhat.com>
Tue, 28 Jul 2009 18:26:58 +0000 (15:26 -0300)
committerAvi Kivity <avi@redhat.com>
Thu, 10 Sep 2009 05:33:20 +0000 (08:33 +0300)
First check if the list is empty before attempting to look at list
entries.

Cc: stable@kernel.org
Signed-off-by: Izik Eidus <ieidus@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/mmu.c

index 1249c12e1d5c50febda0129ccecbfac20e43217a..28be35c6ff1d17e7d99baf493919bcabc60bbb3c 100644 (file)
@@ -2705,7 +2705,8 @@ EXPORT_SYMBOL_GPL(kvm_mmu_unprotect_page_virt);
 
 void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu)
 {
-       while (vcpu->kvm->arch.n_free_mmu_pages < KVM_REFILL_PAGES) {
+       while (vcpu->kvm->arch.n_free_mmu_pages < KVM_REFILL_PAGES &&
+              !list_empty(&vcpu->kvm->arch.active_mmu_pages)) {
                struct kvm_mmu_page *sp;
 
                sp = container_of(vcpu->kvm->arch.active_mmu_pages.prev,