[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86/mm: Use l1e_get_pfn() in destroy_grant_pte_mapping().
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1223543730 -3600 # Node ID d1e57d593614398ee10dde1cc6a2db7ccdb07155 # Parent 1e37779bf884ae85bd18bd3890f04a82967f5098 x86/mm: Use l1e_get_pfn() in destroy_grant_pte_mapping(). On x86_64 system, (pte >> PAGE_SHIFT) is not always equal to page frame number because high bits (63:52) of pte may be used as flags. This patch corrects the conversion and errors as below disappear when applied. (XEN) mm.c:3074:d0 PTE entry 200000a2ec6167 for address a1f09958 doesn't match frame a2ec6 Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@xxxxxxxxxxxxx> --- xen/arch/x86/mm.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -r 1e37779bf884 -r d1e57d593614 xen/arch/x86/mm.c --- a/xen/arch/x86/mm.c Thu Oct 09 10:06:50 2008 +0100 +++ b/xen/arch/x86/mm.c Thu Oct 09 10:15:30 2008 +0100 @@ -3067,7 +3067,7 @@ static int destroy_grant_pte_mapping( ol1e = *(l1_pgentry_t *)va; /* Check that the virtual address supplied is actually mapped to frame. */ - if ( unlikely((l1e_get_intpte(ol1e) >> PAGE_SHIFT) != frame) ) + if ( unlikely(l1e_get_pfn(ol1e) != frame) ) { page_unlock(page); MEM_LOG("PTE entry %lx for address %"PRIx64" doesn't match frame %lx", _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |