x86: undo_limit_pages() must reset page count ... before calling __free_pages() as it is already being called in the context of that or similar function (which used put_page_test_zero() first or otherwise assumes the page count is zero). Reported-by: Daniel Kiper Signed-off-by: Jan Beulich --- a/arch/i386/mm/hypervisor.c +++ b/arch/i386/mm/hypervisor.c @@ -437,6 +437,7 @@ static void undo_limit_pages(struct page BUG_ON(order > max_contig_order); xen_limit_pages_to_max_mfn(pages, order, 0); ClearPageForeign(pages); + init_page_count(pages); __free_pages(pages, order); }