Very interesting article at the IEEE ACM by David Chisnall.
In the wake of the recent Meltdown and Spectre vulnerabilities, it's worth spending some time looking at root causes. Both of these vulnerabilities involved processors speculatively executing instructions past some kind of access check and allowing the attacker to observe the results via a side channel. The features that led to these vulnerabilities, along with several others, were added to let C programmers continue to believe they were programming in a low-level language, when this hasn't been the case for decades.
(Score: 4, Insightful) by Anonymous Coward on Wednesday May 23 2018, @09:09PM
When CPUs emulate an "x86-compatible" CISC architecture by running undocumented microcode on undocumented RISC cores, you can not have any "low-level language", by definition. It takes a special breed of idiot to try and shift blame for bugs in their emulators from Intel and AMD to whoever/whatever make client software for them.
Why not go and blame languages, compilers, and programmers for not implementing workarounds for all the undiscovered Microsoft zerodays, while at it? Same kind of logic.