From: Juergen Gross Date: Fri, 4 Jun 2021 06:02:09 +0000 (+0200) Subject: tools/libs/guest: fix max_pfn setting in map_p2m() X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~480 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7bd8989ab77b6a;p=xen.git tools/libs/guest: fix max_pfn setting in map_p2m() When setting the highest pfn used in the guest, don't subtract 1 from the value read from the shared_info data. The value read already is the correct pfn. Fixes: 91e204d37f449 ("libxc: try to find last used pfn when migrating") Signed-off-by: Juergen Gross Acked-by: Wei Liu --- diff --git a/tools/libs/guest/xg_sr_save_x86_pv.c b/tools/libs/guest/xg_sr_save_x86_pv.c index 4964f1f7b8..dae7f2817f 100644 --- a/tools/libs/guest/xg_sr_save_x86_pv.c +++ b/tools/libs/guest/xg_sr_save_x86_pv.c @@ -468,7 +468,7 @@ static int map_p2m(struct xc_sr_context *ctx) ctx->x86.pv.p2m_generation = ~0ULL; ctx->x86.pv.max_pfn = GET_FIELD(ctx->x86.pv.shinfo, arch.max_pfn, - ctx->x86.pv.width) - 1; + ctx->x86.pv.width); p2m_cr3 = GET_FIELD(ctx->x86.pv.shinfo, arch.p2m_cr3, ctx->x86.pv.width); return p2m_cr3 ? map_p2m_list(ctx, p2m_cr3) : map_p2m_tree(ctx);