Am Thu, 28 Feb 2019 14:17:18 +0100 schrieb Olaf Hering <[email protected]>:
> In domcreate_bootloader_done, libxl__build_pre is called.
> If that function fails, the label 'out:' is called, which goes straight into
> domcreate_stream_done. This function uses srs->dcs to set
> libxl__domain_create_state.
> In my case ->dcs is NULL. The result is a crash in STATE_AO_GC().
This works for me with staging-4.11:
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -1099,6 +1099,11 @@ static void domcreate_bootloader_done(libxl__egc *egc,
return;
}
+ /* Prepare environment for domcreate_stream_done */
+ dcs->srs.ao = ao;
+ dcs->srs.dcs = dcs;
+ dcs->srs.fd = -1;
+
/* Restore */
callbacks->restore_results = libxl__srm_callout_callback_restore_results;
@@ -1122,8 +1127,6 @@ static void domcreate_bootloader_done(libxl__egc *egc,
if (rc)
goto out;
- dcs->srs.ao = ao;
- dcs->srs.dcs = dcs;
dcs->srs.fd = restore_fd;
dcs->srs.legacy = (dcs->restore_params.stream_version == 1);
dcs->srs.back_channel = false;
Olaf
pgpZnEe1WnZBY.pgp
Description: Digitale Signatur von OpenPGP
_______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
