On Tue, Feb 16, 2021 at 5:21 PM Sean Christopherson <sea...@google.com> wrote: > > On Sat, Feb 13, 2021, Andy Lutomirski wrote: > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > > index f923e14e87df..ec39073b4897 100644 > > --- a/arch/x86/kvm/svm/svm.c > > +++ b/arch/x86/kvm/svm/svm.c > > @@ -1467,12 +1467,8 @@ static void svm_vcpu_put(struct kvm_vcpu *vcpu) > > #ifdef CONFIG_X86_64 > > loadsegment(fs, svm->host.fs); > > wrmsrl(MSR_KERNEL_GS_BASE, current->thread.gsbase); > > - load_gs_index(svm->host.gs); > > -#else > > -#ifdef CONFIG_X86_32_LAZY_GS > > - loadsegment(gs, svm->host.gs); > > -#endif > > This manually GS crud is gone as of commit e79b91bb3c91 ("KVM: SVM: use > vmsave/vmload for saving/restoring additional host state"), which is queued > for > 5.12. >
Link to the above KVM patch see [1]. As said the base for this patchset should be changed - for example it conflicts with [2]. Maybe wait for Linux v5.12-rc1? - Sedat - [1] https://git.kernel.org/pub/scm/virt/kvm/kvm.git/commit/?h=tags/kvm-5.12-1&id=e79b91bb3c916a52ce823ab60489c717c925c49f [2] https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/tag/?h=x86-entry-2021-02-15 > > #endif > > + load_gs_index(svm->host.gs); > > > > for (i = 0; i < NR_HOST_SAVE_USER_MSRS; i++) > > wrmsrl(host_save_user_msrs[i].index, > > @@ -3705,13 +3701,11 @@ static noinstr void svm_vcpu_enter_exit(struct > > kvm_vcpu *vcpu, > > } else { > > __svm_vcpu_run(svm->vmcb_pa, (unsigned long > > *)&svm->vcpu.arch.regs); > > > > + /* Restore the percpu segment immediately. */ > > #ifdef CONFIG_X86_64 > > native_wrmsrl(MSR_GS_BASE, svm->host.gs_base); > > #else > > loadsegment(fs, svm->host.fs); > > -#ifndef CONFIG_X86_32_LAZY_GS > > - loadsegment(gs, svm->host.gs); > > -#endif > > #endif > > }