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

Re: [Xen-devel] bogus libxl error handling in domcreate_bootloader_done



On Thu, Feb 28, 2019 at 05:40:18PM +0000, George Dunlap wrote:
> You'll get a better response rate if you actually cc' the tools maintainers.
>  -G
> 
> On Thu, Feb 28, 2019 at 4:22 PM Olaf Hering <olaf@xxxxxxxxx> wrote:
> >
> > Am Thu, 28 Feb 2019 14:17:18 +0100
> > schrieb Olaf Hering <olaf@xxxxxxxxx>:
> >
> > > 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().
> >

Yes there is definitely a bug.

> > 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;
> > +

As far as I can tell only srs.dcs needs to be initialised before hand.
Am I right?

Wei.

> >      /* 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
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxxxxxxxxx
> > https://lists.xenproject.org/mailman/listinfo/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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