Re: [RFC 09/10] x86/enter: Create macros to restrict/unrestrict Indirect Branch Speculation
From: David Woodhouse
Date: Tue Jan 23 2018 - 20:22:17 EST
On Tue, 2018-01-23 at 17:00 -0800, Andy Lutomirski wrote:
> On Tue, Jan 23, 2018 at 4:47 PM, Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> wrote:
> >
> > On 01/23/2018 03:14 PM, Woodhouse, David wrote:
> > >
> > > On Tue, 2018-01-23 at 14:49 -0800, Andi Kleen wrote:
> > > >
> > > > >
> > > > > Not sure.ÂÂMaybe to start, the answer might be to allow it to be set for
> > > > > the ultra-paranoid, but in general don't enable it by default.ÂÂHaving it
> > > > > enabled would be an alternative to someone deciding to disable SMT, since
> > > > > that would have even more of a performance impact.
> > > > I agree. A reasonable strategy would be to only enable it for
> > > > processes that have dumpable disabled. This should be already set for
> > > > high value processes like GPG, and allows others to opt-in if
> > > > they need to.
> > > That seems to make sense, and I think was the solution we were
> > > approaching for IBPB on context switch too, right?
> > >
> > > Are we generally agreed on dumpable as the criterion for both of those?
> > >
> > It is a reasonable approach.ÂÂLet a process who needs max security
> > opt in with disabled dumpable. It can have a flush with IBPB clear before
> > starting to run, and have STIBP set while running.
> >
> Do we maybe want a separate opt in?ÂÂI can easily imagine things like
> web browsers that *don't* want to be non-dumpable but do want this
> opt-in.
Â
This is to protect you from another local process running on a HT
sibling. Not the kind of thing that web browsers are normally worrying
about.
> Also, what's the performance hit of STIBP?
Varies per CPU generation, but generally approaching that of full IBRS
I think? I don't recall looking at this specifically (since we haven't
actually used it for this yet).Attachment:
smime.p7s
Description: S/MIME cryptographic signature