lkml.org 
[lkml]   [2020]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v3 0/9] KVM: nSVM: fixes for CR3/MMU switch upon nested guest entry/exit
    Date
    This is a successor of "[PATCH v2 0/3] KVM: nSVM: fix #TF from CR3 switch
    when entering guest" and "[PATCH] KVM: x86: drop erroneous mmu_check_root()
    from fast_pgd_switch()".

    The snowball is growing fast! It all started with an intention to fix
    the particular 'tripple fault' issue (now fixed by PATCH7) but now we
    also get rid of unconditional kvm_mmu_reset_context() upon nested guest
    entry/exit and make the code resemble nVMX. There is still a huge room
    for further improvement (proper error propagation, removing unconditional
    MMU sync/TLB flush,...) but at least we're making some progress.

    Tested with kvm selftests/kvm-unit-tests and by running nested Hyper-V
    on KVM. The series doesn't seem to introduce any new issues.

    Vitaly Kuznetsov (9):
    KVM: nSVM: split kvm_init_shadow_npt_mmu() from kvm_init_shadow_mmu()
    KVM: nSVM: stop dereferencing vcpu->arch.mmu to get the context in
    kvm_init_shadow{,_npt}_mmu()
    KVM: nSVM: reset nested_run_pending upon nested_svm_vmrun_msrpm()
    failure
    KVM: nSVM: prepare to handle errors from enter_svm_guest_mode()
    KVM: nSVM: introduce nested_svm_load_cr3()
    KVM: nSVM: move kvm_set_cr3() after nested_svm_uninit_mmu_context()
    KVM: nSVM: implement nested_svm_load_cr3() and use it for host->guest
    switch
    KVM: nSVM: use nested_svm_load_cr3() on guest->host switch
    KVM: x86: drop superfluous mmu_check_root() from fast_pgd_switch()

    arch/x86/kvm/mmu.h | 3 +-
    arch/x86/kvm/mmu/mmu.c | 39 ++++++++++----
    arch/x86/kvm/svm/nested.c | 108 ++++++++++++++++++++++++++++----------
    arch/x86/kvm/svm/svm.c | 6 ++-
    arch/x86/kvm/svm/svm.h | 4 +-
    5 files changed, 116 insertions(+), 44 deletions(-)

    --
    2.25.4

    \
     
     \ /
      Last update: 2020-07-09 16:54    [W:4.563 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site