diff options
Diffstat (limited to 'virt/kvm/kvm_main.c')
| -rw-r--r-- | virt/kvm/kvm_main.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 42b73930a6d..9739b533ca2 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -808,12 +808,13 @@ int __kvm_set_memory_region(struct kvm *kvm,  	if (r)  		goto out_free; -	/* map the pages in iommu page table */ +	/* map/unmap the pages in iommu page table */  	if (npages) {  		r = kvm_iommu_map_pages(kvm, &new);  		if (r)  			goto out_free; -	} +	} else +		kvm_iommu_unmap_pages(kvm, &old);  	r = -ENOMEM;  	slots = kmemdup(kvm->memslots, sizeof(struct kvm_memslots),  |