Valid GFNs (having a representation in the dirty bitmap) need to be strictly below p2m_size.
Signed-off-by: Jan Beulich <jbeul...@suse.com> Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com> --- a/tools/libs/guest/xg_sr_save.c +++ b/tools/libs/guest/xg_sr_save.c @@ -614,7 +614,7 @@ static int colo_merge_secondary_dirty_bi for ( i = 0; i < count; i++ ) { pfn = pfns[i]; - if ( pfn > ctx->save.p2m_size ) + if ( pfn >= ctx->save.p2m_size ) { PERROR("Invalid pfn 0x%" PRIx64, pfn); rc = -1;