Messages in this thread | | | Subject | Re: [patch RFC 5/5] x86/speculation: Add basic speculation control code | From | David Woodhouse <> | Date | Wed, 10 Jan 2018 13:58:56 +0000 |
| |
On Wed, 2018-01-10 at 14:46 +0100, Thomas Gleixner wrote: > > So here is the simple list of questions all to be answered with YES or > NO. I don't want to see any of the 'but, though ...'. We all know by now > that it's CPU dependent and slow and whatever and that IBRS_ATT will be in > future CPUs. So get your act together and tell a clear YES or NO.
This is actually covered by the documentation. Someone really should send you a copy.
> 1) Does IBRS=1 when set once act as a set-and-forget option ?
Never on current hardware. In future with IBRS_ATT, yes.
> 1a) If the answer to #1 is yes, is it more secure than toggling it?
No, just faster.
> 1b) If the answer to #1 is yes, is retpoline required ?
No. We'll ALTERNATIVE it away if we have IBRS_ATT.
> 1c) If the answer to #1 is yes, is RSB stuffing required ?
Not for IBRS_ATT, with weasel words about requiring SMEP.
> 2) Does toggle mode of IBRS require retpoline ?
No. Retpoline is an *alternative* to IBRS, for protecting the kernel.
> 3) Does toggle mode of IBRS require RSB stuffing ?
Yes for kernel entry if you have no SMEP. And yes on vmexit.
> 4) Exist CPUs which require IBRS to be selected automatically ? > > 4b) If yes, provide the list as a separate answer please
You mean CPUs on which retpoline isn't sufficient and thus the kernel should prefer IBRS "automatically" without a command line option?
As discussed, yes on Skylake and anything after it that doesn't have IBRS_ATT, because there are tiny theoretical gaps that retpoline doesn't handle. But the option of sacrificing goats may be perfectly acceptable. [unhandled content-type:application/x-pkcs7-signature] | |