【发布时间】:2018-07-04 20:16:27
【问题描述】:
有谁知道为什么建议 LFENCE 指令在 Spectre #1(边界检查绕过/越界读取)的情况下停止推测执行,但在 Spectre #2(分支目标注入)的情况下无用?这两个 Spectre 漏洞都与推测执行有关,并且正在利用分支预测器。据我了解,在第一种情况下涉及通用预测器,在第二种情况下涉及间接调用预测器。如果我开始使用 LFENCE 来防止基于间接调用预测器的推测执行以减轻 Spectre #2 的影响,它会有用吗?
【问题讨论】:
标签: assembly memory x86 x86-64 cpu-architecture