https://www.ibm.com/blogs/psirt/potential-impact-processors-...
https://www.ibm.com/blogs/psirt/potential-impact-processors-...
Out-of-order execution is an indispensable performance feature and present in a wide range of modern processors.
quote
However, for both ARM and AMD, the toy example as described in Section 3 works reliably, indicating that out-of-order execution generally occurs and instructions past illegal memory accesses are also performed
end of quote
it just need more work to make it work their
Meltdown involves crafting some code yourself that speculatively accesses data it does not have access to before the CPU rejects the access due to permissions.
In other words, Meltdown involves your code accessing the data, but Spectre involves getting the kernel to do it for you. Spectre is a neat clever side-channel attack that is hard to protect against, while Meltdown is a blundering error in the way the CPU works.
There are 3 vulnerabilities.
Meltdown is 1 of the 3. Meltdown is pretty much Intel only. Some ARM SoCs are also affected, but these are relatively rare. AMD64 is unaffected by Meltdown.
Spectre are the other 2 vulnerabilities. Spectre affects pretty much everyone.
Meltdown is more severe, and more of a blunder.
For a technical explanation, see [1]. Was recently referred to at HN as well.
[1] https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulne...
From the Meltdown paper[0] section 6.4 it would seem that out of order execution referencing illegal memory locations still occurs unless of course I'm misunderstanding something.
AMD's claim is that the result of the faulting instruction can never end up affecting a later speculated instruction - ie, for Intel the bad access says "here's the value you asked for" and later says "actually you don't have permission, forget you saw that". For AMD the bad access says "you don't have permission, so no result available"