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

Re: [Xen-devel] [PATCH] xen: xen_sync_dirty_bitmap: attempt to fix SEGV


--On 6 March 2013 14:16:22 +0000 Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> wrote:

Alex Bligh writes ("[PATCH] xen: xen_sync_dirty_bitmap: attempt to fix SEGV"):
When xc_hvm_track_dirty_vram fails, iterate through pages based on
vram_offset and npages, rather than start_addr and size. DPRINTF
before the loop in the hope of seeing output before SEGV.

See email just sent.  I have a comprehensible stack trace.  If you'd
still like me to try this patch I can do so but it might be easier for
you to ask me to poke my gdb ...

Thanks. So the good news is that it is xen_sync_dirty_bitmap that is
the culprit, as we suspected.

My question is: does the call to cpu_physical_memory_set_dirty
occur within the "if (rc<0)" block, as I suspect, or does it occur
within the "for (i = 0; i < ARRAY_SIZE(bitmap); i++)" block?
(it's called in two places from xen_sync_dirty_bitmap)

If the former, then I think the problem is that the address that
cpu_physical_memory_set_dirty (and xen_modified_memory) takes needs
to be passed through get_physmapping()->phys_offset before use,
like the second case already does. In this case the patch I've
just sent should (hopefully) work.

If the latter, then something else is broken.

Alex Bligh

Xen-devel mailing list



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