On Thu, Jan 18, 2018 at 06:12:36PM +0100, Paolo Bonzini wrote:
> On 18/01/2018 18:08, Dave Hansen wrote:
> > On 01/18/2018 08:37 AM, Josh Poimboeuf wrote:
> >>>
> >>> --- a/Documentation/admin-guide/kernel-parameters.txt
> >>> +++ b/Documentation/admin-guide/kernel-parameters.txt
> >>> @@ -3932,6 +3932,7 @@
> >>>                   retpoline         - replace indirect branches
> >>>                   retpoline,generic - google's original retpoline
> >>>                   retpoline,amd     - AMD-specific minimal thunk
> >>> +                 ibrs              - Intel: Indirect Branch Restricted 
> >>> Speculation
> >> Are there plans to add spectre_v2=ibrs_always to prevent SMT-based
> >> attacks?
> > 
> > What does "ibrs_always" mean to you?

Maybe ibrs_always isn't the best name.  Basically we need an option to
protect user-user attacks via SMT.

It could be implemented with IBRS=1, or STIBP, or as part of the
mythical IBRS_ATT.

Maybe a 'user_smt' option, which could be appended to existing
'retpoline' or 'ibrs' options?  Like spectre_v2=retpoline,user_smt or
spectre_v2=ibrs,user_smt?

> > There is a second bit in the MSR (STIBP) that is intended to keep
> > hyperthreads from influencing each-other.  That is behavior is implicit
> > when IBRS is enabled.

Does this bit exist yet?  I've never seen any patches for it.

> Yeah, I think we should have a mode to always leave that enabled, or
> always set IBRS=1.
> 
> > I think ibrs_always *should* probably be kept to refer to the future
> > CPUs that can safely leave IBRS enabled all the time.
> 
> Is that "safely" or "without throwing performance down the drain"?
> 
> Does "always IBRS=1" *hinder* the mitigation on existing processor, as
> long as you reset IBRS=1 on kernel entry and vmexit?  Or is it just slow?

Yes, enquiring minds want to know...

-- 
Josh

Reply via email to