mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
Such entries, created by set_identity_p2m_entry(), should only be destroyed by clear_identity_p2m_entry(). However, similarly, entries created by set_mmio_p2m_entry() should only be torn down by clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as the entry type (separation between "ordinary" and 1:1 mappings would require a further indicator to tell apart the two). As to the guest_remove_page() change, commit48dfb297a2("x86/PVH: allow guest_remove_page to remove p2m_mmio_direct pages"), which introduced the call to clear_mmio_p2m_entry(), claimed this was done for hwdom only without this actually having been the case. However, this code shouldn't be there in the first place, as MMIO entries shouldn't be dropped this way. Avoid triggering the warning again that48dfb297a2silenced by an adjustment to xenmem_add_to_physmap_one() instead. Note that guest_physmap_mark_populate_on_demand() gets tightened beyond the immediate purpose of this change. Note also that I didn't inspect code which isn't security supported, e.g. sharing, paging, or altp2m. This is CVE-2021-28694 / part of XSA-378. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Paul Durrant <paul@xen.org>