31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
|
# Commit 9daed8321b44c3ca82e412eb130f84e6b6c17dc5
|
||
|
# Date 2016-08-30 13:43:31 +0100
|
||
|
# Author Juergen Gross <jgross@suse.com>
|
||
|
# Committer Wei Liu <wei.liu2@citrix.com>
|
||
|
libxc: correct max_pfn calculation for saving domain
|
||
|
|
||
|
Commit 91e204d37f44913913776d0a89279721694f8b32 ("libxc: try to find
|
||
|
last used pfn when migrating") introduced a bug for the case of a
|
||
|
domain supporting the virtual mapped linear p2m list: the maximum pfn
|
||
|
of the domain calculated from the p2m memory allocation might be too
|
||
|
low.
|
||
|
|
||
|
Correct this.
|
||
|
|
||
|
Reported-by: Stefan Bader <stefan.bader@canonical.com>
|
||
|
Signed-off-by: Juergen Gross <jgross@suse.com>
|
||
|
Tested-by: Stefan Bader <stefan.bader@canonical.com>
|
||
|
Acked-by: Wei Liu <wei.liu2@citrix.com>
|
||
|
|
||
|
--- a/tools/libxc/xc_sr_save_x86_pv.c
|
||
|
+++ b/tools/libxc/xc_sr_save_x86_pv.c
|
||
|
@@ -430,6 +430,8 @@ static int map_p2m_list(struct xc_sr_con
|
||
|
|
||
|
if ( level == 2 )
|
||
|
{
|
||
|
+ if ( saved_idx == idx_end )
|
||
|
+ saved_idx++;
|
||
|
max_pfn = ((xen_pfn_t)saved_idx << 9) * fpp - 1;
|
||
|
if ( max_pfn < ctx->x86_pv.max_pfn )
|
||
|
{
|