Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 131374
b: refs/heads/master
c: 682edb4
h: refs/heads/master
v: v3
  • Loading branch information
Mark McLoughlin authored and Avi Kivity committed Feb 15, 2009
1 parent be5bcab commit f6efaa9
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b682b814e3cc340f905c14dff87ce8bdba7c5eba
refs/heads/master: 682edb4c01e690c7c7cd772dbd6f4e0fd74dc572
6 changes: 2 additions & 4 deletions trunk/virt/kvm/iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,13 @@ static int kvm_iommu_map_memslots(struct kvm *kvm)
{
int i, r = 0;

down_read(&kvm->slots_lock);
for (i = 0; i < kvm->nmemslots; i++) {
r = kvm_iommu_map_pages(kvm, kvm->memslots[i].base_gfn,
kvm->memslots[i].npages);
if (r)
break;
}
up_read(&kvm->slots_lock);

return r;
}

Expand Down Expand Up @@ -190,12 +189,11 @@ static void kvm_iommu_put_pages(struct kvm *kvm,
static int kvm_iommu_unmap_memslots(struct kvm *kvm)
{
int i;
down_read(&kvm->slots_lock);

for (i = 0; i < kvm->nmemslots; i++) {
kvm_iommu_put_pages(kvm, kvm->memslots[i].base_gfn,
kvm->memslots[i].npages);
}
up_read(&kvm->slots_lock);

return 0;
}
Expand Down
3 changes: 3 additions & 0 deletions trunk/virt/kvm/kvm_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,7 @@ static int kvm_vm_ioctl_assign_device(struct kvm *kvm,
struct kvm_assigned_dev_kernel *match;
struct pci_dev *dev;

down_read(&kvm->slots_lock);
mutex_lock(&kvm->lock);

match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head,
Expand Down Expand Up @@ -527,6 +528,7 @@ static int kvm_vm_ioctl_assign_device(struct kvm *kvm,

out:
mutex_unlock(&kvm->lock);
up_read(&kvm->slots_lock);
return r;
out_list_del:
list_del(&match->list);
Expand All @@ -538,6 +540,7 @@ static int kvm_vm_ioctl_assign_device(struct kvm *kvm,
out_free:
kfree(match);
mutex_unlock(&kvm->lock);
up_read(&kvm->slots_lock);
return r;
}
#endif
Expand Down

0 comments on commit f6efaa9

Please sign in to comment.