x86/mm/shadow: emulated writes are always guest-originated actions
authorTim Deegan <Tim.Deegan@citrix.com>
Thu, 2 Jun 2011 12:16:52 +0000 (13:16 +0100)
committerTim Deegan <Tim.Deegan@citrix.com>
Thu, 2 Jun 2011 12:16:52 +0000 (13:16 +0100)
and never happen with the paging lock held.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
xen/arch/x86/mm/shadow/multi.c

index d482d3c82e498d2abf0a36ea559f63fbcd52a9aa..40b5b6e961293dc7a3bc60b820d86b253d252345 100644 (file)
@@ -4810,11 +4810,8 @@ static mfn_t emulate_gva_to_mfn(struct vcpu *v,
     }
 
     /* Translate the GFN to an MFN */
-    /* PoD: query only if paging lock is held (to avoid deadlock) */
-    if ( paging_locked_by_me(v->domain) )
-        mfn = gfn_to_mfn_query(v->domain, _gfn(gfn), &p2mt);
-    else
-        mfn = gfn_to_mfn(v->domain, _gfn(gfn), &p2mt);
+    ASSERT(!paging_locked_by_me(v->domain));
+    mfn = gfn_to_mfn_guest(v->domain, _gfn(gfn), &p2mt);
         
     if ( p2m_is_readonly(p2mt) )
         return _mfn(READONLY_GFN);