3 ms·
That only fixes one variant of Spectre, and only for code running in kernel mode. The "out of bounds" Spectre variant is still feasible. Also: What about hype
by contrarian_ 9y ago
That only fixes one variant of Spectre, and only for code running in kernel mode.
The "out of bounds" Spectre variant is still feasible.
Also: What about hyperthreads? It seems to be many people's assumption that the BTB is shared within a physical core.
- bonzini 9y agoThe out of bounds variant is fixable in the OS, just add a fence instruction between the check and the load. For code running in user mode, you flush the branch predictor on each context switch---again, new microcode + patched OS. Hyperthreads are tricky. Those are not yet fixed by microcode AIUI, and in the future you may want a usermode program to say "I don't want indirect branch prediction because I am afraid of what the other hyperthread might do to me". That would require some new system call (like a new prctl on Linux) or something like that.
- wilun 9y agoGreat. Now we just have to think of new attacks using the same general idea to slow down all computers by yet another 10% :p