[XEN PATCH for-4.17] libs/light: Propagate libxl__arch_domain_create() return code

Anthony PERARD posted 1 patch 1 year, 5 months ago
Test gitlab-ci failed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20221118165235.14143-1-anthony.perard@citrix.com
tools/libs/light/libxl_dom.c | 2 ++
1 file changed, 2 insertions(+)
[XEN PATCH for-4.17] libs/light: Propagate libxl__arch_domain_create() return code
Posted by Anthony PERARD 1 year, 5 months ago
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>
---
 tools/libs/light/libxl_dom.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
index b59bbe00bb..fa5c79e4f6 100644
--- a/tools/libs/light/libxl_dom.c
+++ b/tools/libs/light/libxl_dom.c
@@ -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;
 }
 
-- 
Anthony PERARD
Re: [XEN PATCH for-4.17] libs/light: Propagate libxl__arch_domain_create() return code
Posted by Jason Andryuk 1 year, 5 months ago
On Fri, Nov 18, 2022 at 11:53 AM Anthony PERARD
<anthony.perard@citrix.com> wrote:
>
> 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>

Was the issue that libxl__arch_domain_create() failed, but then
libxl__cpuid_legacy() succeeded.  rc was overwritten, so
libxl__build_pre() returns success?

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks,
Jason
RE: [XEN PATCH for-4.17] libs/light: Propagate libxl__arch_domain_create() return code
Posted by Henry Wang 1 year, 5 months ago
Hi Anthony,

> -----Original Message-----
> From: Anthony PERARD <anthony.perard@citrix.com>
> Subject: [XEN PATCH for-4.17] libs/light: Propagate
> libxl__arch_domain_create() return code
> 
> 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>

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry