projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
KVM: unmap pages from the iommu when slots are removed
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
virt
/
kvm
/
kvm_main.c
diff --git
a/virt/kvm/kvm_main.c
b/virt/kvm/kvm_main.c
index
42b7393
..
9739b53
100644
(file)
--- 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;
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;
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),
r = -ENOMEM;
slots = kmemdup(kvm->memslots, sizeof(struct kvm_memslots),