lkml.org 
[lkml]   [2019]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 01/20] kvm: mmu: Dont read PDPTEs when paging is not enabled
    Date
    From: Junaid Shahid <junaids@google.com>

    [ Upstream commit d35b34a9a70edae7ef923f100e51b8b5ae9fe899 ]

    kvm should not attempt to read guest PDPTEs when CR0.PG = 0 and
    CR4.PAE = 1.

    Signed-off-by: Junaid Shahid <junaids@google.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/x86/kvm/x86.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/arch/x86/kvm/x86.c
    +++ b/arch/x86/kvm/x86.c
    @@ -575,7 +575,7 @@ static bool pdptrs_changed(struct kvm_vc
    gfn_t gfn;
    int r;

    - if (is_long_mode(vcpu) || !is_pae(vcpu))
    + if (is_long_mode(vcpu) || !is_pae(vcpu) || !is_paging(vcpu))
    return false;

    if (!test_bit(VCPU_EXREG_PDPTR,
    @@ -7168,7 +7168,7 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct
    kvm_update_cpuid(vcpu);

    idx = srcu_read_lock(&vcpu->kvm->srcu);
    - if (!is_long_mode(vcpu) && is_pae(vcpu)) {
    + if (!is_long_mode(vcpu) && is_pae(vcpu) && is_paging(vcpu)) {
    load_pdptrs(vcpu, vcpu->arch.walk_mmu, kvm_read_cr3(vcpu));
    mmu_reset_needed = 1;
    }

    \
     
     \ /
      Last update: 2019-11-15 07:21    [W:4.185 / U:0.920 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site