From: Jan Beulich Date: Tue, 26 Jul 2022 06:33:10 +0000 (+0200) Subject: page-alloc: fix initialization of cross-node regions X-Git-Tag: archive/raspbian/4.17.0-1+rpi1^2~33^2~385 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=bd0bb8a0058b10ef6039b1a9a20ad982108d295c;p=xen.git page-alloc: fix initialization of cross-node regions Quite obviously to determine the split condition successive pages' attributes need to be evaluated, not always those of the initial page. Fixes: 72b02bc75b47 ("xen/heap: pass order to free_heap_pages() in heap init") Signed-off-by: Jan Beulich Reviewed-by: Julien Grall --- diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c index c5c5047e7c..8bdaffeb3d 100644 --- a/xen/common/page_alloc.c +++ b/xen/common/page_alloc.c @@ -1885,11 +1885,11 @@ static void init_heap_pages( * range to cross zones. */ #ifdef CONFIG_SEPARATE_XENHEAP - if ( zone != page_to_zone(pg) ) + if ( zone != page_to_zone(pg + contig_pages) ) break; #endif - if ( nid != (phys_to_nid(page_to_maddr(pg))) ) + if ( nid != (phys_to_nid(page_to_maddr(pg + contig_pages))) ) break; }