Messages in this thread | | | Date | Fri, 25 Feb 2022 11:55:08 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v2 20/39] x86/bugs: Disable Retpoline when IBT |
| |
On Thu, Feb 24, 2022 at 05:11:23PM -0800, Kees Cook wrote: > On Thu, Feb 24, 2022 at 03:51:58PM +0100, Peter Zijlstra wrote: > > Retpoline and IBT are mutually exclusive. IBT relies on indirect > > branches (JMP/CALL *%reg) while retpoline avoids them by design. > > > > Demote to LFENCE on IBT enabled hardware. > > What's the expected perf impact of this?
Well, the expected case is that this is all dead code because any part that has IBT also has eIBRS and if we have eIBRS we never use retpolines as per the current code.
The only case is virt, where someone could expose IBT and not eIBRS, in which case this will, as per Josh's answer, make things faster since LFENCE sucks less than full Retpoline.
| |