honor MEMF_no_refcount in alloc_heap_pages() Non-anonymous allocations with this flag set should - for the purpose of the availability check - be treated just like anonymous ones, as they wouldn't lead to a reduction of ->outstanding_pages. Signed-off-by: Jan Beulich --- a/xen/common/page_alloc.c +++ b/xen/common/page_alloc.c @@ -617,7 +617,8 @@ static struct page_info *alloc_heap_page */ if ( (outstanding_claims + request > total_avail_pages + tmem_freeable_pages()) && - (d == NULL || d->outstanding_pages < request) ) + ((memflags & MEMF_no_refcount) || + !d || d->outstanding_pages < request) ) goto not_found; /*