The patching for Spectre isn't going well.
Earlier this week, Intel Corp. (Nasdaq: INTC) was forced to advise its customers -- that means OEMs, cloud service providers, system manufacturers, software vendors, end users, etc. -- to stop deployment of the Spectre patch and await further information. Unexpected system reboots were cited as the immediate cause, along with "other unpredictable system behavior."
Not only that, Linux inventor Linus Torvalds took to a Linux kernel mailing list on Sunday, January 21, to call Intel's approach to fixing Spectre "COMPLETE AND UTTER GARBAGE." (The capitalization for emphasis is his.)
Torvalds is OK with what Intel is doing for the Meltdown problem, however. (See New Intel Vulnerability Hits Almost Everyone.)
Linus Torvalds would like a word...
"The speculation control cpuid stuff shows that Intel actually seems to plan on doing the right thing for meltdown (the main question being _when_)," Torvalds wrote.
But the Spectre -- the branch target injection design flaw affecting most of its processor chips -- response causes him to ask: "WHAT THE F*CK IS GOING ON?"
Torvalds sees Intel playing games to make the benchmarks look better. As he puts it:
The whole IBRS_ALL feature to me very clearly says Intel is not serious about this, we'll have a ugly hack that will be so expensive that we don't want to enable it by default, because that would look bad in benchmarks.
Indirect Branch Restricted Speculation (IBRS) is the part of the patching that restricts speculation of indirect program branches.
Torvalds sums up his aversions by writing in the message that to him, the whole point of having CPUID and flags from the microarchitecture -- like IBRS_ALL -- is that they can be used make decisions.
However, since people already know that the IBRS overhead is very large on existing hardware, the hardware capability bits will be totally not useful. Torvalds thinks that "nobody sane will use them, since the cost is too damn high."
Torvalds does have a point here.
In its official position paper, Intel doesn't treat Spectre as a bug. Instead the chipmaker is offering Spectre protection as a feature. The company implicitly admits the vulnerability will be present in future CPUs, but it gives users an opt-in flag for their solution. This is the approach that Torvalds find abhorrent.
What Torvalds says that he wants is to see is some flag from the CPU saying that it has been fixed against Spectre, so that the OS does not have to impose its own fixes. He thinks the Spectre fix should be defaulted to on, regardless of the performance hit.
This stuff will remain a contentious area for a long time. Intel is getting tripped up by its rush to get a fix out the door, and not doing the validation that a major change of this magnitude needs. It also may have been influenced by liability issues implicit in the problem and trying to downplay just how serious the problem is to most of its customers.
In any case, it may serve users well to hold back on applying any patches that may result from this effort until they have been shown to be effective and do not cause instabilities of their own.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.