lkml.org 
[lkml]   [2022]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v9 031/105] KVM: x86/mmu: Make sync_page not use hard-coded 0 as the initial SPTE value
    Date
    From: Isaku Yamahata <isaku.yamahata@intel.com>

    FNAME(sync_page) in arch/x86/kvm/mmu/paging_tmpl.h assumes that the initial
    shadow page table entry (SPTE) is zero. Remove the assumption by using
    SHADOW_NONPRESENT_VALUE that will be updated from 0 to non-zero value.

    Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
    ---
    arch/x86/kvm/mmu/paging_tmpl.h | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/arch/x86/kvm/mmu/paging_tmpl.h b/arch/x86/kvm/mmu/paging_tmpl.h
    index 39e0205e7300..4586de2cfe57 100644
    --- a/arch/x86/kvm/mmu/paging_tmpl.h
    +++ b/arch/x86/kvm/mmu/paging_tmpl.h
    @@ -1036,7 +1036,8 @@ static int FNAME(sync_page)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp)
    gpa_t pte_gpa;
    gfn_t gfn;

    - if (!sp->spt[i])
    + /* spt[i] has initial value of shadow page table allocation */
    + if (sp->spt[i] != SHADOW_NONPRESENT_VALUE)
    continue;

    pte_gpa = first_pte_gpa + i * sizeof(pt_element_t);
    --
    2.25.1
    \
     
     \ /
      Last update: 2022-09-30 12:23    [W:4.025 / U:0.360 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site