diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c index a9e71746c6..7285a80fb6 100644 --- a/xen/arch/x86/x86_64/mm.c +++ b/xen/arch/x86/x86_64/mm.c @@ -190,7 +190,8 @@ long arch_memory_op(int op, void *arg) if ( copy_from_user(&xmml, arg, sizeof(xmml)) ) return -EFAULT; - for ( v = RDWR_MPT_VIRT_START; v != RDWR_MPT_VIRT_END; v += 1 << 21 ) + for ( i = 0, v = RDWR_MPT_VIRT_START; v != RDWR_MPT_VIRT_END; + i++, v += 1 << 21 ) { l3e = l4e_to_l3e(idle_pg_table[l4_table_offset(v)])[ l3_table_offset(v)]; @@ -204,7 +205,6 @@ long arch_memory_op(int op, void *arg) break; if ( put_user(mfn, &xmml.extent_start[i]) ) return -EFAULT; - i++; } if ( put_user(i, &((struct xen_machphys_mfn_list *)arg)->nr_extents) )