diff options
Diffstat (limited to 'xen/arch/x86/mm.c')
-rw-r--r-- | xen/arch/x86/mm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 057404b6db..fbf504c04b 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -1388,7 +1388,8 @@ static int alloc_l2_table(struct page_info *page, unsigned long type, for ( i = page->nr_validated_ptes; i < L2_PAGETABLE_ENTRIES; i++ ) { - if ( preemptible && i && hypercall_preempt_check() ) + if ( preemptible && i > page->nr_validated_ptes + && hypercall_preempt_check() ) { page->nr_validated_ptes = i; rc = -EAGAIN; |