Messages in this thread | | | Date | Tue, 16 Feb 2021 08:21:11 -0800 | From | Sean Christopherson <> | Subject | Re: [PATCH v2 1/2] x86/stackprotector/32: Make the canary into a regular percpu variable |
| |
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.
> #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 > }
| |