On 01/08/2018 07:23 AM, Alan Modra wrote:
> On Sun, Jan 07, 2018 at 04:36:20PM -0700, Jeff Law wrote:
>> On 01/07/2018 03:58 PM, H.J. Lu wrote:
>>> This set of patches for GCC 8 mitigates variant #2 of the speculative 
>>> execution
>>> vulnerabilities on x86 processors identified by CVE-2017-5715, aka Spectre.
> [snip]
>> My fundamental problem with this patchkit is that it is 100% x86/x86_64
>> specific.
> 
> It's possible that x86 needs spectre variant 2 mitigation that isn't
> necessary on other modern processors like ARM and PowerPC, so let's
> not rush into general solutions designed around x86..
>From what I know about variant 2 mitigation it's going to be needed on a
variety of chip families, not just the Intel architecture.

However, I'm seeing signals that other chips vendors are looking towards
approaches that don't use retpolines.  So even though I think we could
build them fairly easy for most targets out of simple primitives, it may
not be the best use of our time.

> 
> Here's a quick overview of Spectre.  For more, see
> https://spectreattack.com/spectre.pdf
> https://googleprojectzero.blogspot.com.au/2018/01/reading-privileged-memory-with-side.html
> https://developer.arm.com/-/media/Files/pdf/Cache_Speculation_Side-channels.pdf
Yup.  Already familiar with this stuff :-)

> 
> However, x86 has the additional problem of variable length
> instructions.  Gadgets might be hiding in code when executed at an
> offset from the start of the "real" instructions.  Which is why x86 is
> more at risk from this attack than other processors, and why x86 needs
> something like the posted variant 2 mitigation, slowing down all
> indirect branches.
> 
True, but largely beside the point.   I'm not aware of anyone serious
looking at mating ROP with Spectre at this point, though it is certainly
possible.  The bad guys don't need to work that hard at this time.


Jeff

Reply via email to