]> xenbits.xensource.com Git - xen.git/commitdiff
libs/light: Propagate libxl__arch_domain_create() return code
authorAnthony PERARD <anthony.perard@citrix.com>
Mon, 21 Nov 2022 11:23:01 +0000 (12:23 +0100)
committerJan Beulich <jbeulich@suse.com>
Mon, 21 Nov 2022 11:23:01 +0000 (12:23 +0100)
Commit 34990446ca91 started to overwrite the `rc` value from
libxl__arch_domain_create(), thus error aren't propagated anymore.

Check `rc` value before doing the next thing.

Fixes: 34990446ca91 ("libxl: don't ignore the return value from xc_cpuid_apply_policy")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
Release-acked-by: Henry Wang <Henry.Wang@arm.com>
tools/libs/light/libxl_dom.c

index b59bbe00bb3024f7c21b21746d60711ffb885676..fa5c79e4f6509679774d5e34bef607e4030d8d9e 100644 (file)
@@ -377,6 +377,7 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid,
     state->console_port = xc_evtchn_alloc_unbound(ctx->xch, domid, state->console_domid);
 
     rc = libxl__arch_domain_create(gc, d_config, state, domid);
+    if (rc) goto out;
 
     /* Construct a CPUID policy, but only for brand new domains.  Domains
      * being migrated-in/restored have CPUID handled during the
@@ -384,6 +385,7 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid,
     if (!state->restore)
         rc = libxl__cpuid_legacy(ctx, domid, false, info);
 
+out:
     return rc;
 }