• Takuya Yoshikawa's avatar
    KVM: x86: MMU: Initialize force_pt_level before calling mapping_level() · 8c85ac1c
    Takuya Yoshikawa authored
    Commit fd136902 ("KVM: x86: MMU: Move mapping_level_dirty_bitmap()
    call in mapping_level()") forgot to initialize force_pt_level to false
    in FNAME(page_fault)() before calling mapping_level() like
    nonpaging_map() does.  This can sometimes result in forcing page table
    level mapping unnecessarily.
    
    Fix this and move the first *force_pt_level check in mapping_level()
    before kvm_vcpu_gfn_to_memslot() call to make it a bit clearer that
    the variable must be initialized before mapping_level() gets called.
    
    This change can also avoid calling kvm_vcpu_gfn_to_memslot() when
    !check_hugepage_cache_consistency() check in tdp_page_fault() forces
    page table level mapping.
    Signed-off-by: default avatarTakuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    8c85ac1c
paging_tmpl.h 27.3 KB