|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] libxl: fix assertion failure in stub domain creation
On Wed, Feb 05, 2020 at 11:24:12AM +0000, Paul Durrant wrote:
> An assertion in libxl__domain_make():
>
> 'soft_reset || *domid == INVALID_DOMID'
>
> does not hold true for stub domain creation, where soft_reset is false
> but the passed in domid == 0. This is easily fixed by changing the
> initializer in libxl__spawn_stub_dm().
>
> NOTE: The comment for XEN_DOMCTL_createdomain in domctl.h is changed to
> reflect reality.
>
> Fixes: 75259239d85d ("libxl_create: make 'soft reset' explicit")
> Signed-off-by: Paul Durrant <pdurrant@xxxxxxxxxx>
Acked-by: Wei Liu <wl@xxxxxxx>
I will wait until end of today in case others want to comment on the
domctl.h change.
I will also carry over Anthony's ack from v1 while committing.
Wei.
> ---
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Wei Liu <wl@xxxxxxx>
> Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Julien Grall <julien@xxxxxxx>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
>
> An example of the assertion failure can be seen at:
>
> http://logs.test-lab.xenproject.org/osstest/logs/146726/test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm/10.ts-debian-hvm-install.log
> ---
> tools/libxl/libxl_dm.c | 2 +-
> xen/include/public/domctl.h | 3 ++-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index f758daf3b6..3b1da90167 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -2127,7 +2127,7 @@ void libxl__spawn_stub_dm(libxl__egc *egc,
> libxl__stub_dm_spawn_state *sdss)
> goto out;
> }
>
> - sdss->pvqemu.guest_domid = 0;
> + sdss->pvqemu.guest_domid = INVALID_DOMID;
>
> libxl_domain_create_info_init(&dm_config->c_info);
> dm_config->c_info.type = LIBXL_DOMAIN_TYPE_PV;
> diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
> index 2bb7397923..fec6f6fdd1 100644
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -42,7 +42,8 @@
>
> /*
> * NB. xen_domctl.domain is an IN/OUT parameter for this operation.
> - * If it is specified as zero, an id is auto-allocated and returned.
> + * If it is specified as an invalid value (0 or >= DOMID_FIRST_RESERVED),
> + * an id is auto-allocated and returned.
> */
> /* XEN_DOMCTL_createdomain */
> struct xen_domctl_createdomain {
> --
> 2.20.1
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |