libxenguest: fix off-by-1 in colo-secondary-bitmap merging
authorJan Beulich <jbeulich@suse.com>
Fri, 13 Aug 2021 14:49:46 +0000 (16:49 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 13 Aug 2021 14:49:46 +0000 (16:49 +0200)
Valid GFNs (having a representation in the dirty bitmap) need to be
strictly below p2m_size.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
tools/libs/guest/xg_sr_save.c

index 3fce41b6cfff5b105cbfe91f6dc353262d49ac67..0266e0a94a1df2bf5ede0c57c3a1a9638e5a95a8 100644 (file)
@@ -614,7 +614,7 @@ static int colo_merge_secondary_dirty_bitmap(struct xc_sr_context *ctx)
     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;