x86: don't allow page table updates on non-PV page tables in do_mmu_update()

paging_write_guest_entry() and paging_cmpxchg_guest_entry() aren't
consistently supported for non-PV guests (they'd deref NULL for PVH or
non-HAP HVM ones). Don't allow respective MMU_* operations on the
page tables of such domains.

This is CVE-2014-8594 / XSA-109.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Tim Deegan <tim@xen.org>
This commit is contained in:
Jan Beulich committed 2014-11-18 14:15:21 +01:00
1 parent 0540b854f6
commit e4292c5aac
1 file changed
+4
+4
View File
@@ -3493,6 +3493,10 @@ long do_mmu_update(
{
p2m_type_t p2mt;
rc = -EOPNOTSUPP;
if ( unlikely(paging_mode_refcounts(pt_owner)) )
break;
xsm_needed |= XSM_MMU_NORMAL_UPDATE;
if ( get_pte_flags(req.val) & _PAGE_PRESENT )
{
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.