Use gfn_to_mfn_query() rather then gfn_to_mfn() when changing P2M types since we do not really want to force a PoD allocation as a side effect. Signed-off-by: Paul Durrant diff -r 74cefb50559e xen/arch/x86/mm/p2m.c --- a/xen/arch/x86/mm/p2m.c Fri Oct 30 15:52:02 2009 +0000 +++ b/xen/arch/x86/mm/p2m.c Fri Oct 30 16:47:29 2009 +0000 @@ -2557,7 +2557,7 @@ p2m_lock(d->arch.p2m); - mfn = gfn_to_mfn(d, gfn, &pt); + mfn = gfn_to_mfn_query(d, gfn, &pt); if ( pt == ot ) set_p2m_entry(d, gfn, mfn, 0, nt);