X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=virt%2Fkvm%2Fiommu.c;h=fd817a2cb2404b6b584eb60ea746f1cfe712dda8;hp=a195c07fa8290b44cb435f5ac06d841507e33503;hb=1e57aab4e6c549804298f07fac0b6fc77f10fab2;hpb=6fd8fb7f55cb6d45e7f078cd0eaf7e3c243f6c33 diff --git a/virt/kvm/iommu.c b/virt/kvm/iommu.c index a195c07fa829..fd817a2cb240 100644 --- a/virt/kvm/iommu.c +++ b/virt/kvm/iommu.c @@ -309,6 +309,11 @@ static void kvm_iommu_put_pages(struct kvm *kvm, } } +void kvm_iommu_unmap_pages(struct kvm *kvm, struct kvm_memory_slot *slot) +{ + kvm_iommu_put_pages(kvm, slot->base_gfn, slot->npages); +} + static int kvm_iommu_unmap_memslots(struct kvm *kvm) { int i, idx; @@ -317,10 +322,9 @@ static int kvm_iommu_unmap_memslots(struct kvm *kvm) idx = srcu_read_lock(&kvm->srcu); slots = kvm_memslots(kvm); - for (i = 0; i < slots->nmemslots; i++) { - kvm_iommu_put_pages(kvm, slots->memslots[i].base_gfn, - slots->memslots[i].npages); - } + for (i = 0; i < slots->nmemslots; i++) + kvm_iommu_unmap_pages(kvm, &slots->memslots[i]); + srcu_read_unlock(&kvm->srcu, idx); return 0;