mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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:
1 parent
4b2d30ac85
commit
73f43ceca7
1 file changed
+2
-2
@@ -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));
|
||||
|
||||