Checking that multi-page allocations are permitted is unnecessary for
PoD population operations. Instead, the (loop invariant) check added
for addressing XSA-31 can be moved here.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
a->nr_extents-1) )
return;
- if ( !multipage_allocation_permitted(current->domain, a->extent_order) )
+ if ( a->memflags & MEMF_populate_on_demand ? a->extent_order > MAX_ORDER :
+ !multipage_allocation_permitted(current->domain, a->extent_order) )
return;
for ( i = a->nr_done; i < a->nr_extents; i++ )
if ( a->memflags & MEMF_populate_on_demand )
{
- if ( a->extent_order > MAX_ORDER ||
- guest_physmap_mark_populate_on_demand(d, gpfn,
+ if ( guest_physmap_mark_populate_on_demand(d, gpfn,
a->extent_order) < 0 )
goto out;
}