lkml.org 
[lkml]   [2020]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 9/9] KVM: x86: drop superfluous mmu_check_root() from fast_pgd_switch()
    Date
    The mmu_check_root() check in fast_pgd_switch() seems to be
    superfluous: when GPA is outside of the visible range
    cached_root_available() will fail for non-direct roots
    (as we can't have a matching one on the list) and we don't
    seem to care for direct ones.

    Also, raising #TF immediately when a non-existent GFN is written to CR3
    doesn't seem to mach architectural behavior. Drop the check.

    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
    ---
    arch/x86/kvm/mmu/mmu.c | 3 +--
    1 file changed, 1 insertion(+), 2 deletions(-)

    diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
    index 1c3a231f825b..c004ef9caf8f 100644
    --- a/arch/x86/kvm/mmu/mmu.c
    +++ b/arch/x86/kvm/mmu/mmu.c
    @@ -4277,8 +4277,7 @@ static bool fast_pgd_switch(struct kvm_vcpu *vcpu, gpa_t new_pgd,
    */
    if (mmu->shadow_root_level >= PT64_ROOT_4LEVEL &&
    mmu->root_level >= PT64_ROOT_4LEVEL)
    - return !mmu_check_root(vcpu, new_pgd >> PAGE_SHIFT) &&
    - cached_root_available(vcpu, new_pgd, new_role);
    + return cached_root_available(vcpu, new_pgd, new_role);

    return false;
    }
    --
    2.25.4
    \
     
     \ /
      Last update: 2020-07-09 16:54    [W:2.983 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site