giles-retpoline (griffissinstitute.org)
How the Spectre and Meltdown Hacks Really Worked - IEEE Spectrum
内核代码目前充斥着大量关于retpoline的处理,而retpoline是个啥东西
大概的意思就是
cpu会提前执行jmp或者call这种跳转指令的下一句,过程就是把这一句存到一个叫RSB的栈中,如果这一句有安全风险,就有可能被利用。
解决的方法就是call和jmp指令后面添上一段无用死循环代码,cpu的预测分支执行的是无用的代码。