File 19764-hvm-domain-lock-leak.patch of Package xen

# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1245155592 -3600
# Node ID 775afcdc2759082e56ac22918c1f51a84917d160
# Parent  45ca3f3c3f98118efa6ec207b094c4e61fbee79d
x86, hvm: fix a domain_lock leak
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -499,11 +499,13 @@ static int hvm_load_cpu_ctxt(struct doma
     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;
@@ -2257,7 +2259,7 @@ static void hvm_s3_suspend(struct domain
     vpic_reset(d);
     vioapic_reset(d);
     pit_reset(d);
-    rtc_reset(d);	
+    rtc_reset(d);
     pmtimer_reset(d);
     hpet_reset(d);
 
openSUSE Build Service is sponsored by