]> xenbits.xensource.com Git - xen.git/commitdiff
x86/paging: don't unconditionally BUG() on finding SHARED_M2P_ENTRY
authorJan Beulich <jbeulich@suse.com>
Tue, 12 Dec 2017 13:40:52 +0000 (14:40 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 12 Dec 2017 13:40:52 +0000 (14:40 +0100)
PV guests can fully control the values written into the P2M.

This is XSA-251.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
master commit: b4d0218cff66b7eaa9c9b8dc9bd71e7b089b016d
master date: 2017-12-12 14:30:17 +0100

xen/arch/x86/mm/paging.c

index 75f5fc0024ff0d17d3a7fe9b7b149a876a0fa093..b0037c400c4771534eeac5c61da546cca226757c 100644 (file)
@@ -274,7 +274,7 @@ void paging_mark_pfn_dirty(struct domain *d, pfn_t pfn)
         return;
 
     /* Shared MFNs should NEVER be marked dirty */
-    BUG_ON(SHARED_M2P(pfn_x(pfn)));
+    BUG_ON(paging_mode_translate(d) && SHARED_M2P(pfn_x(pfn)));
 
     /*
      * Values with the MSB set denote MFNs that aren't really part of the