x86/paging: don't unconditionally BUG() on finding SHARED_M2P_ENTRY

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: b4d0218cff
master date: 2017-12-12 14:30:17 +0100
This commit is contained in:
Jan Beulich committed 2017-12-12 15:13:30 +01:00
1 parent 7e02b65a85
commit 62cc20d4cb
1 file changed
+1 -1
+1 -1
View File
@@ -285,7 +285,7 @@ void paging_mark_dirty(struct domain *d, unsigned long guest_mfn)
/* We /really/ mean PFN here, even for non-translated guests. */
pfn = get_gpfn_from_mfn(mfn_x(gmfn));
/* Shared MFNs should NEVER be marked dirty */
BUG_ON(SHARED_M2P(pfn));
BUG_ON(paging_mode_translate(d) && SHARED_M2P(pfn));
/*
* Values with the MSB set denote MFNs that aren't really part of the
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.