3 ms·
So, the interesting thing here, to me, is this bit: >So now we mostly don't need IBRS. We build with retpoline, use IBPB on context switches/vmexit (which is i
by cthalupa 9y ago
So, the interesting thing here, to me, is this bit:
>So now we mostly don't need IBRS. We build with retpoline, use IBPB on context switches/vmexit (which is in the first part of this patch series before IBRS is added), and we're safe. We even refactored the patch series to put retpoline first.
Unless I'm reading this wrong, it looks like retpoline is not enough, and you still need the microcode updates from Intel or AMD that offer IBPB.
If this is the case, why has Google been saying that retpoline is all we need?
- gavindean90 9y agoFrom what I can see, the retpoline works on pre Skylake processors. I am guessing that Google might not be using Skylake+ processors and so their comments are not wrong for their equipment.
- cthalupa 9y agoNo, it's pretty specifically not about the Skylake issue - The retpoline not working on Skylake is fixed by IBRS, and is due to ret calls falling back to indirect prediction in deep stacks. vmexits and context switches are a very different thing than the deep stack ret calls.