[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH-for-4.16] tools/helpers: fix broken xenstore stubdom init



On Thu, Nov 4, 2021 at 11:00 AM Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
>
> On 04/11/2021 14:42, Juergen Gross wrote:
> > Commit 1787cc167906f3f ("libs/guest: Move the guest ABI check earlier
> > into xc_dom_parse_image()") broke starting the xenstore stubdom. This
> > is due to a rather special way the xenstore stubdom domain config is
> > being initialized: in order to support both, PV and PVH stubdom,
> > init-xenstore-domain is using xc_dom_parse_image() to find the correct
> > domain type. Unfortunately above commit requires xc_dom_boot_xen_init()
> > to have been called before using xc_dom_parse_image(). This requires
> > the domid, which is known only after xc_domain_create(), which requires
> > the domain type.
> >
> > In order to break this circular dependency, call xc_dom_boot_xen_init()
> > with an arbitrary domid first, and then set dom->guest_domid later.
> >
> > Fixes: 1787cc167906f3f ("libs/guest: Move the guest ABI check earlier into 
> > xc_dom_parse_image()")
> > Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> > Release-acked-by: Ian Jackson <iwj@xxxxxxxxxxxxxx>
>
> This is all rather nasty, and really highlights problems with the
> libxenguest abi, because you really ought to be able to ask "what ELF
> properties do I have on my hand" without an implicit "and try to start
> building a VM using it" on the side.
>
> I agree this is probably the best thing to do right now.

Yes, this is probably the best change before release.

If xc_dom_allocate() filled in dom->xen_version & dom->xen_caps - i.e.
move that from xc_dom_boot_xen_init() - then I think this patch
wouldn't be necessary.  But there could be side effects of such a
change.

Regards,
Jason



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.