lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 30 Dec 2020 08:08:07 -0800
From:   Sean Christopherson <seanjc@...gle.com>
To:     Borislav Petkov <bp@...en8.de>
Cc:     Babu Moger <babu.moger@....com>, pbonzini@...hat.com,
        tglx@...utronix.de, mingo@...hat.com, fenghua.yu@...el.com,
        tony.luck@...el.com, wanpengli@...cent.com, kvm@...r.kernel.org,
        thomas.lendacky@....com, peterz@...radead.org, joro@...tes.org,
        x86@...nel.org, kyung.min.park@...el.com,
        linux-kernel@...r.kernel.org, krish.sadhukhan@...cle.com,
        hpa@...or.com, mgross@...ux.intel.com, vkuznets@...hat.com,
        kim.phillips@....com, wei.huang2@....com, jmattson@...gle.com
Subject: Re: [PATCH v2 2/2] KVM: SVM: Add support for Virtual SPEC_CTRL

On Wed, Dec 30, 2020, Borislav Petkov wrote:
> On Tue, Dec 22, 2020 at 04:31:55PM -0600, Babu Moger wrote:
> > @@ -2549,7 +2559,10 @@ static int svm_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
> >  		    !guest_cpuid_has(vcpu, X86_FEATURE_AMD_SSBD))
> >  			return 1;
> >  
> > -		msr_info->data = svm->spec_ctrl;
> > +		if (static_cpu_has(X86_FEATURE_V_SPEC_CTRL))
> > +			msr_info->data = svm->vmcb->save.spec_ctrl;
> > +		else
> > +			msr_info->data = svm->spec_ctrl;
> >  		break;
> >  	case MSR_AMD64_VIRT_SPEC_CTRL:
> >  		if (!msr_info->host_initiated &&
> > @@ -2640,6 +2653,8 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr)
> >  			return 1;
> >  
> >  		svm->spec_ctrl = data;
> > +		if (static_cpu_has(X86_FEATURE_V_SPEC_CTRL))
> > +			svm->vmcb->save.spec_ctrl = data;
> >  		if (!data)
> >  			break;
> >  
> 
> Are the get/set_msr() accessors such a fast path that they need
> static_cpu_has() ?

Nope, they can definitely use boot_cpu_has().

Powered by blists - more mailing lists