From f7035b0ca55bee398a9ce6dc7763a8f6bf407d10 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 16 Jun 2009 14:35:45 +0100 Subject: [PATCH] x86, hvm: fix a domain_lock leak Signed-off-by: Kouya Shimura xen-unstable changeset: 19764:775afcdc2759 xen-unstable date: Tue Jun 16 13:33:12 2009 +0100 --- xen/arch/x86/hvm/hvm.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 0acd97dcb..599a30874 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -504,11 +504,13 @@ static int hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h) vc = &v->arch.guest_context; /* Need to init this vcpu before loading its contents */ + rc = 0; domain_lock(d); if ( !v->is_initialised ) - if ( (rc = boot_vcpu(d, vcpuid, vc)) != 0 ) - return rc; + rc = boot_vcpu(d, vcpuid, vc); domain_unlock(d); + if ( rc != 0 ) + return rc; if ( hvm_load_entry(CPU, h, &ctxt) != 0 ) return -EINVAL; @@ -2264,7 +2266,7 @@ static void hvm_s3_suspend(struct domain *d) vpic_reset(d); vioapic_reset(d); pit_reset(d); - rtc_reset(d); + rtc_reset(d); pmtimer_reset(d); hpet_reset(d); -- 2.39.5