On 04.11.21 17:33, Jason Andryuk wrote:
On Thu, Nov 4, 2021 at 11:00 AM Andrew Cooper <andrew.coop...@citrix.com> 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 <jgr...@suse.com> Release-acked-by: Ian Jackson <i...@xenproject.org>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.
This is a nice idea for a cleanup patch after 4.16 has been branched. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature