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

Re: [Xen-devel] CONFIG_SCRUB_DEBUG=y + arm64 + livepatch = Xen BUG at page_alloc.c:738



On 09/13/2017 02:25 PM, Julien Grall wrote:
> Hi,
> 
> On 09/13/2017 07:05 PM, Boris Ostrovsky wrote:
>> On 09/13/2017 11:32 AM, Konrad Rzeszutek Wilk wrote:
>> Well, that's not a fix. This eliminates the case that something in
>> ARM-specific code (which I haven't tested) accidentally clears
>> _PGC_need_scrub.
>>
>> OK, I think I know what the problem is. You are using
>> CONFIG_SEPARATE_XENHEAP, are you?
> 
> It seems the bug appear on Arm64, so CONFIG_SEPARATE_XENHEAP is not set.
> 
> Note that Arm32 is using separate heap.


For separate heap we will need


diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index b5243fc..9f62ea2 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2059,7 +2059,7 @@ void free_xenheap_pages(void *v, unsigned int order)

     memguard_guard_range(v, 1 << (order + PAGE_SHIFT));

-    free_heap_pages(virt_to_page(v), order, false);
+    free_heap_pages(virt_to_page(v), order, scrub_debug);
 }

 #else


If that doesn't help then there are two cases where free_heap_pages is
called with 'false' --- one in alloc_domheap_pages() and the other in
online_page().

Setting one and then the other would further narrow it down.


-boris

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

 


Rackspace

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