xc_save: use correct size when unmapping live p2m.

Otherwise we unmap a larger region than was mapped when saving 32 bit
guest from 64 bit tools, leading to badness.

The equivalent change was made to the restore code in
18329:ca7dd77d5365

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
Keir Fraser committed 2008-09-29 11:00:29 +01:00
1 parent 4b2d30ac85
commit 73f43ceca7
1 file changed
+2 -2
+2 -2
View File
@@ -727,7 +727,7 @@ static xen_pfn_t *map_and_save_p2m_table(int xc_handle,
out:
if ( !success && p2m )
munmap(p2m, ROUNDUP(p2m_size * sizeof(xen_pfn_t), PAGE_SHIFT));
munmap(p2m, P2M_FLL_ENTRIES * PAGE_SIZE);
if ( live_p2m_frame_list_list )
munmap(live_p2m_frame_list_list, PAGE_SIZE);
@@ -1608,7 +1608,7 @@ int xc_domain_save(int xc_handle, int io_fd, uint32_t dom, uint32_t max_iters,
munmap(live_shinfo, PAGE_SIZE);
if ( live_p2m )
munmap(live_p2m, ROUNDUP(p2m_size * sizeof(xen_pfn_t), PAGE_SHIFT));
munmap(live_p2m, P2M_FLL_ENTRIES * PAGE_SIZE);
if ( live_m2p )
munmap(live_m2p, M2P_SIZE(max_mfn));
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.