diff -r 9ca9331c9780 xen/include/asm-x86/p2m.h --- a/xen/include/asm-x86/p2m.h Fri Jan 21 15:37:36 2011 +0000 +++ b/xen/include/asm-x86/p2m.h Fri Jan 21 16:41:58 2011 +0000 @@ -390,7 +390,14 @@ must_succeed ? MEM_SHARING_MUST_SUCCEED : 0) ) { - BUG_ON(must_succeed); + if ( must_succeed + && p2m->domain->is_dying ) + { + mfn = INVALID_MFN; + *p2mt=p2m_invalid; + } + else + BUG_ON(must_succeed); return mfn; } mfn = gfn_to_mfn(p2m, gfn, p2mt);