Adjust so we uniformly avoid needlessly arranging for a continuation on the last iteration.
Fixes: 5777a3742d88 ("IOMMU: hold page ref until after deferred TLB flush") Signed-off-by: Jan Beulich <jbeul...@suse.com> --- a/xen/common/memory.c +++ b/xen/common/memory.c @@ -854,8 +854,9 @@ int xenmem_add_to_physmap(struct domain ++extra.ppage; /* Check for continuation if it's not the last iteration. */ - if ( (++done >= ARRAY_SIZE(pages) && extra.ppage) || - (xatp->size > done && hypercall_preempt_check()) ) + if ( xatp->size > ++done && + ((done >= ARRAY_SIZE(pages) && extra.ppage) || + hypercall_preempt_check()) ) { rc = start + done; break;