lkml.org 
[lkml]   [2008]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 11/19] KVM: VMX: Add ept_sync_context in flush_tlb
    Date
    From: Sheng Yang <sheng.yang@intel.com>

    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>
    ---
    arch/x86/kvm/vmx.c | 3 +++
    1 files changed, 3 insertions(+), 0 deletions(-)

    diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
    index ea6bcf5..d300aa1 100644
    --- a/arch/x86/kvm/vmx.c
    +++ b/arch/x86/kvm/vmx.c
    @@ -91,6 +91,7 @@ static inline struct vcpu_vmx *to_vmx(struct kvm_vcpu *vcpu)
    }

    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);
    @@ -1422,6 +1423,8 @@ static void exit_lmode(struct kvm_vcpu *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)
    --
    1.5.6.1


    \
     
     \ /
      Last update: 2008-07-15 14:21    [W:0.021 / U:0.044 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site