[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] x86: don't ignore foreigndom on L2/L3/L4 page table updates
commit 7993e3be68558097050bc7495d3b4a00287841e1 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Tue Dec 5 17:23:53 2017 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Tue Dec 5 17:23:53 2017 +0100 x86: don't ignore foreigndom on L2/L3/L4 page table updates Silently assuming DOMID_SELF is unlikely to be a good idea for page table updates. For PGT_writable pages, though, it seems better to allow the writes, so the same check isn't being applied there. Also add blank lines between the individual case blocks. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- xen/arch/x86/mm.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 3c84ae8..e919956 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -3662,18 +3662,28 @@ long do_mmu_update( cmd == MMU_PT_UPDATE_PRESERVE_AD, v, pg_owner); break; + case PGT_l2_page_table: + if ( unlikely(pg_owner != pt_owner) ) + break; rc = mod_l2_entry(va, l2e_from_intpte(req.val), mfn, cmd == MMU_PT_UPDATE_PRESERVE_AD, v); break; + case PGT_l3_page_table: + if ( unlikely(pg_owner != pt_owner) ) + break; rc = mod_l3_entry(va, l3e_from_intpte(req.val), mfn, cmd == MMU_PT_UPDATE_PRESERVE_AD, v); break; + case PGT_l4_page_table: + if ( unlikely(pg_owner != pt_owner) ) + break; rc = mod_l4_entry(va, l4e_from_intpte(req.val), mfn, cmd == MMU_PT_UPDATE_PRESERVE_AD, v); break; + case PGT_writable_page: perfc_incr(writable_mmu_updates); if ( paging_write_guest_entry(v, va, req.val, _mfn(mfn)) ) -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |