Fix a contrived bug where KVM can create a shadow-present SPTE with RWX=0 if L1 modifies an existing RX or RWX 4kb SPTE to be X-only and the combined permissions for the upper level SPTEs yield !X. Patch 2 adds a comment explaining why FNAME(sync_page) isn't repsonsible for flushing synchronized entries that reduce protections, e.g. drop X (or add NX). Lack of a flush made me do a double-take and a lot of staring. Sean Christopherson (2): KVM: x86/mmu: Drop RWX=0 SPTEs during ept_sync_page() KVM: x86/mmu: Comment FNAME(sync_page) to document TLB flushing logic arch/x86/kvm/mmu/paging_tmpl.h | 18 +++++++++++++++++- arch/x86/kvm/mmu/spte.c | 2 ++ 2 files changed, 19 insertions(+), 1 deletion(-) base-commit: 2764011106d0436cb44702cfb0981339d68c3509 -- 2.36.0.550.gb090851708-goog