aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/mmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kvm/mmu.c')
-rw-r--r--arch/x86/kvm/mmu.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 36c5406b1813..ee3f53098f0c 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -658,7 +658,7 @@ static int is_empty_shadow_page(u64 *spt)
658 u64 *end; 658 u64 *end;
659 659
660 for (pos = spt, end = pos + PAGE_SIZE / sizeof(u64); pos != end; pos++) 660 for (pos = spt, end = pos + PAGE_SIZE / sizeof(u64); pos != end; pos++)
661 if (*pos != shadow_trap_nonpresent_pte) { 661 if (is_shadow_present_pte(*pos)) {
662 printk(KERN_ERR "%s: %p %llx\n", __func__, 662 printk(KERN_ERR "%s: %p %llx\n", __func__,
663 pos, *pos); 663 pos, *pos);
664 return 0; 664 return 0;
@@ -1858,6 +1858,7 @@ static void free_mmu_pages(struct kvm_vcpu *vcpu)
1858 sp = container_of(vcpu->kvm->arch.active_mmu_pages.next, 1858 sp = container_of(vcpu->kvm->arch.active_mmu_pages.next,
1859 struct kvm_mmu_page, link); 1859 struct kvm_mmu_page, link);
1860 kvm_mmu_zap_page(vcpu->kvm, sp); 1860 kvm_mmu_zap_page(vcpu->kvm, sp);
1861 cond_resched();
1861 } 1862 }
1862 free_page((unsigned long)vcpu->arch.mmu.pae_root); 1863 free_page((unsigned long)vcpu->arch.mmu.pae_root);
1863} 1864}
@@ -1996,7 +1997,7 @@ static struct shrinker mmu_shrinker = {
1996 .seeks = DEFAULT_SEEKS * 10, 1997 .seeks = DEFAULT_SEEKS * 10,
1997}; 1998};
1998 1999
1999void mmu_destroy_caches(void) 2000static void mmu_destroy_caches(void)
2000{ 2001{
2001 if (pte_chain_cache) 2002 if (pte_chain_cache)
2002 kmem_cache_destroy(pte_chain_cache); 2003 kmem_cache_destroy(pte_chain_cache);