I can confirm that Security Update 2018-001 breaks El Capitan on Mac Pro 1,1 and 2,1 and that the Rollback of just the kernel file (from 2017-004) is necessary to boot after the 2018-001 update.
I have no proof (just a hunch) that Apple has implemented use of SSE4.1 (which 1,1 and 2,1 CPUs do not possess) in this new kernel to compensate for performance issues caused by handling Spectrum and Meltdown..
For Info:
MD5 (kernel2017-004) = fb43a43f673703863a1321df134d7c11
MD5 (kernel2018-001) = fa693b647577f38d73887a4212dc062e
of /System/Library/Kernels/kernel
Having followed the unfolding of this security disaster I believe it is more likely, that the kernel is using the "Process Context Identifiers (
PCID)" that was introduce with Sandybridge (or even Nehalem), but could only be utilised efficiently starting with Haswell due to missing INVPCID instruction. This functions helps overcome the performance hits that go along with the introduction of "Page Table Isolation (
KPTI)" that address the "
Meltdown" issue.
It could well be that SSE4 is also used to move & copy memory tables more efficiently).
Since Intel listed only Processors based on Nehalem and later architectures to be affected, the XEONs 51xx and 53xx used in the MacPro 1,1 and 2,1 should be save - although the first Out-of-Order Execution (
OoOE) techniques can be traced back to Pentium Pro.
Overall, I expect more updates to come along and hence it is wise to disable automatic backups for those running El Capitan on unsupported hardware. Here´s why (for details refer to
Google's Project Zero):
The core issue are the Out-of-Order execution technologies introduced to boost performance by utilising "wait" times imposed by latency and slower memory access speeds to do speculative execution of next-in-line code.
Meltdown and
Spectre (currently 2 flavours) are one 3 specifically described attack vectors amongst a potential myriad of other option for exploitation.
Spectre 1 requires changes in the compiler and careful review and elimination of susceptible code sections to avoid gaining access to prohibited memory sections by conditioning the branch predictors and allow the speculative execution of malicious code that affects caches and can then be used by a side-channel-attack.
Spectre 2 works in a similar way, but instead the conditioning of the brach predictors is used to speculatively execute existing code snippets of the program to be attacked, again affecting caches and allow data extraction through a side channel attack that identifies the content through the fact that memory access varies depending on the content of the cache.
Spectre 2 is believed to be fixed by the utilisation of 3 new processor instructions IBRS, STIBP and IBPB that require a microcode update and hence a new firmware. Those are reported to have a heavy burden on performance before Skylake.
As Intel pulled back their latest microcode updates due to spontaneous reboot issues and the fact that they would initially only "fix" the processors introduced in the last 5 years, this will drag out quite a bit.
Therefore Linux is also using a kernel patch called "
Retpoline", which still requires changes to the compiler to update kernel as well as creating hardened applications.
Although this was quite detailed, I hope this gives you a better idea, why we see the massive number of files included in the security update 2018-001 and what may have to be expected going forward.
As most of these changes happen inside the kernel or respective applications, we may be able to pick and choose those elements that work on our old hardware to take advantage of other fixes as I expect the dependencies and APIs to not change.
There is quite a good article in the computer magazine c't 3/2018 page 58ff - unfortunately in German only, but I believe there is sufficient English articles which can be found by searching the key words in bold letters above.