git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kvm: free resources after canceling async_pf
[pandora-kernel.git]
/
virt
/
kvm
/
async_pf.c
diff --git
a/virt/kvm/async_pf.c
b/virt/kvm/async_pf.c
index
74268b4
..
1758e32
100644
(file)
--- a/
virt/kvm/async_pf.c
+++ b/
virt/kvm/async_pf.c
@@
-101,8
+101,11
@@
void kvm_clear_async_pf_completion_queue(struct kvm_vcpu *vcpu)
typeof(*work), queue);
cancel_work_sync(&work->work);
list_del(&work->queue);
typeof(*work), queue);
cancel_work_sync(&work->work);
list_del(&work->queue);
- if (!work->done) /* work was canceled */
+ if (!work->done) { /* work was canceled */
+ mmdrop(work->mm);
+ kvm_put_kvm(vcpu->kvm); /* == work->vcpu->kvm */
kmem_cache_free(async_pf_cache, work);
kmem_cache_free(async_pf_cache, work);
+ }
}
spin_lock(&vcpu->async_pf.lock);
}
spin_lock(&vcpu->async_pf.lock);