aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_offline_page.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-07-02 11:33:43 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-07-02 11:33:43 +0100
commit14fbdbd3d383218d144b3bed2d6787bad9f06cd3 (patch)
treeb5176a1c7ca5e0d3d426dea47e167dfd8434390f /tools/libxc/xc_offline_page.c
parentadd9e579b672d4360cbe58bb1ff01aa4b28d86b2 (diff)
downloadxen-14fbdbd3d383218d144b3bed2d6787bad9f06cd3.tar.gz
xen-14fbdbd3d383218d144b3bed2d6787bad9f06cd3.tar.bz2
xen-14fbdbd3d383218d144b3bed2d6787bad9f06cd3.zip
libxc: Fix bugs in xc_exchange_page: pfn_type indexed by gpfn.
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Diffstat (limited to 'tools/libxc/xc_offline_page.c')
-rw-r--r--tools/libxc/xc_offline_page.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/libxc/xc_offline_page.c b/tools/libxc/xc_offline_page.c
index 892f12cf7f..f25cfbd7c7 100644
--- a/tools/libxc/xc_offline_page.c
+++ b/tools/libxc/xc_offline_page.c
@@ -583,7 +583,7 @@ int xc_exchange_page(int xc_handle, int domid, xen_pfn_t mfn)
/* Don't exchange CR3 for PAE guest in PAE host environment */
if (minfo.guest_width > sizeof(long))
{
- if ( (minfo.pfn_type[mfn] & XEN_DOMCTL_PFINFO_LTABTYPE_MASK) ==
+ if ( (minfo.pfn_type[gpfn] & XEN_DOMCTL_PFINFO_LTABTYPE_MASK) ==
XEN_DOMCTL_PFINFO_L3TAB )
goto failed;
}
@@ -621,7 +621,7 @@ int xc_exchange_page(int xc_handle, int domid, xen_pfn_t mfn)
old_ptes.cur = 0;
/* Unpin the page if it is pined */
- if (minfo.pfn_type[mfn] & XEN_DOMCTL_PFINFO_LPINTAB)
+ if (minfo.pfn_type[gpfn] & XEN_DOMCTL_PFINFO_LPINTAB)
{
mops.cmd = MMUEXT_UNPIN_TABLE;
mops.arg1.mfn = mfn;