aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiaotian Feng <[email protected]>2010-08-13 16:23:06 +0800
committerAvi Kivity <[email protected]>2010-08-15 14:17:35 +0300
commit3185bf8c23149f32d7e7363b84539ea50b26ecb1 (patch)
tree903631f12d5a536cd0437a634ddf62e37bb45131
parentf45755b8346f1a089ca7957dce5f4c3c6cb26e6f (diff)
KVM: destroy workqueue on kvm_create_pit() failures
kernel needs to destroy workqueue if kvm_create_pit() fails, otherwise after pit is freed, the workqueue is leaked. Signed-off-by: Xiaotian Feng <[email protected]> Cc: Avi Kivity <[email protected]> Cc: Marcelo Tosatti <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: "H. Peter Anvin" <[email protected]> Cc: Gleb Natapov <[email protected]> Cc: "Michael S. Tsirkin" <[email protected]> Cc: Gregory Haskins <[email protected]> Signed-off-by: Avi Kivity <[email protected]>
-rw-r--r--arch/x86/kvm/i8254.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c
index 0fd6378981f4..f539c3c2a687 100644
--- a/arch/x86/kvm/i8254.c
+++ b/arch/x86/kvm/i8254.c
@@ -742,7 +742,7 @@ fail:
kvm_unregister_irq_mask_notifier(kvm, 0, &pit->mask_notifier);
kvm_unregister_irq_ack_notifier(kvm, &pit_state->irq_ack_notifier);
kvm_free_irq_source_id(kvm, pit->irq_source_id);
-
+ destroy_workqueue(pit->wq);
kfree(pit);
return NULL;
}