Messages in this thread Patch in this message | | | Date | Wed, 30 Jul 2008 16:58:10 -0700 | From | Greg KH <> | Subject | [patch 11/62] KVM: VMX: Add ept_sync_context in flush_tlb |
| |
2.6.26 -stable review patch. If anyone has any objections, please let us know.
------------------ From: Sheng Yang <sheng.yang@intel.com>
Original-Commit-Hash: 73f785350b92e1a3af945340f7d10f3978193cba
Fix a potention issue caused by kvm_mmu_slot_remove_write_access(). The old behavior don't sync EPT TLB with modified EPT entry, which result in inconsistent content of EPT TLB and EPT table.
Signed-off-by: Sheng Yang <sheng.yang@intel.com> Signed-off-by: Avi Kivity <avi@qumranet.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- arch/x86/kvm/vmx.c | 3 +++ 1 file changed, 3 insertions(+)
--- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -88,6 +88,7 @@ static inline struct vcpu_vmx *to_vmx(st } static int init_rmode(struct kvm *kvm); +static u64 construct_eptp(unsigned long root_hpa); static DEFINE_PER_CPU(struct vmcs *, vmxarea); static DEFINE_PER_CPU(struct vmcs *, current_vmcs); @@ -1389,6 +1390,8 @@ static void exit_lmode(struct kvm_vcpu * static void vmx_flush_tlb(struct kvm_vcpu *vcpu) { vpid_sync_vcpu_all(to_vmx(vcpu)); + if (vm_need_ept()) + ept_sync_context(construct_eptp(vcpu->arch.mmu.root_hpa)); } static void vmx_decache_cr4_guest_bits(struct kvm_vcpu *vcpu) --
| |