aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--virt/kvm/kvm_main.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index e41d39d6b0ef..fd9cc79092cb 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1020,7 +1020,10 @@ int __kvm_set_memory_region(struct kvm *kvm,
1020 goto out_free; 1020 goto out_free;
1021 } 1021 }
1022 1022
1023 kvm_free_physmem_slot(&old, &new); 1023 kvm_free_physmem_slot(&old, npages ? &new : NULL);
1024 /* Slot deletion case: we have to update the current slot */
1025 if (!npages)
1026 *memslot = old;
1024#ifdef CONFIG_DMAR 1027#ifdef CONFIG_DMAR
1025 /* map the pages in iommu page table */ 1028 /* map the pages in iommu page table */
1026 r = kvm_iommu_map_pages(kvm, base_gfn, npages); 1029 r = kvm_iommu_map_pages(kvm, base_gfn, npages);