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

Re: [Xen-devel] Unable to start a domain with no disks



On Fri, 2012-10-12 at 16:45 +0100, Ian Campbell wrote:
> Trying to start a very simple domain with no disk from:
>         name="x"
>         memory=128
>         kernel="/scratch/debian/squeeze/amd64/vmlinuz"
>         ramdisk="/scratch/debian/squeeze/amd64/initrd.gz"
>         extra="console=hvc0"
>         vcpus=1
> Results in:
>         xl: libxl_event.c:1522: libxl__ao_complete_check_progress_reports: 
> Assertion `ao->in_initiator' failed.
> if I try to autoconnnect the console (ie. xl cr -c).
> 
> If I don't try and auto connect to the console then everything is fine
> and I can subsequently use "xl cons" to connect.

This makes the issue go away but since this function also free's the ao
I think there must be a use after free somewhere.

diff -r 8aadb3204cfa tools/libxl/libxl_event.c
--- a/tools/libxl/libxl_event.c Thu Sep 06 21:41:27 2012 +0200
+++ b/tools/libxl/libxl_event.c Fri Oct 12 16:49:23 2012 +0100
@@ -1468,6 +1468,7 @@ void libxl__ao__destroy(libxl_ctx *ctx, 
     if (!ao) return;
     LOG(DEBUG,"ao %p: destroy",ao);
     if (ao->poller) libxl__poller_put(ctx, ao->poller);
+    ao->poller = NULL;
     ao->magic = LIBXL__AO_MAGIC_DESTROYED;
     libxl__free_all(&ao->gc);
     free(ao);

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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