|
[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
Alex Bligh writes ("Re: [PATCH] xen: xen_sync_dirty_bitmap: attempt to fix
SEGV"):
> 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)
Line 481, see below. (You should be able to see that from the stack
trace I sent, which was generated from the tip of
qemu-upstream-4.2-testing.git, eccc68722696864fc4823f048c7be58d11281b97)
> 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.
479 end = TARGET_PAGE_ALIGN(start_addr + size);
480 for (addr = start_addr & TARGET_PAGE_MASK; addr < end; addr
+= TARGET_PAGE_SIZE) {
481 cpu_physical_memory_set_dirty(addr);
482 }
483
484 DPRINTF("xen: track_dirty_vram failed (0x" TARGET_FMT_plx
I shall try your patch.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |