Die CPU-Bugs Spectre und Meltdown halten die Kernel-Entwickler weiterhin in Atem. Linus Torvalds schiebt noch eine weitere RC für Kernel 4.15 ein und kritisiert zugleich Intels Spectre-Patches recht deutlich. Greg Kroah-Hartman erklärt, wie Nutzer gepatchte Kernel erkennen.
Aufgrund der “CPU bug mitigation craziness” wird sich der offizielle Release von Kernel 4.15 einmal mehr verzögern. Kernel-Chef Linus Torvalds plant eine weitere RC-Version 9. Nummern dieser Größe tauchen bei RCs eher selten auf, die letzte gab es 2011. Ein Boot-Bug und ausstehende Netzwerk-Fixes hätten ihn unter anderem dazu bewegt, den Kernel 4.15 noch nicht als fertig zu bezeichnen.
Zugleich gehen die Diskussionen um Spectre und Meltdown weiter. Intel habe zwar Meltdown vernünftig repariert, die Patches für die Spectre-Lücke würden laut Torvalds jedoch zeigen, dass es Intel nicht Ernst meine mit den Reparaturen. Die IBRS-Patches (Indirect Branch Restricted Speculation) seien “kompletter Müll”, schreibt Torvalds und würden Dinge tun, die verrückt seien. Noch schlimmer sei, dass das Hardware-Interface von “Idioten” entworfen wurde.
Neben konkreter Kritik am Code lehnt Torvalds den “IBRS_ALL”-Ansatz generell ab. Bereits jetzt sei klar, dass der Overhead von Intels Ansatz riesig wäre. Am Ende, so seine Befürchtung, werde niemand diese Option für den Kernel einsetzen. Man benötige daher einen besseren Ansatz.
Ist der Kernel gepatcht?
Derweilen hat sich auch Greg Kroah-Hartman einmal mehr zum Thema “Der Kernel, Meltdown und Spectre” geäußert. Wer nachprüfen möchte, ob der eigene Kernel bereits Patches für Meltdown und die Spectre-Lücken mitbringt, könne den Befehl “grep . /sys/devices/system/cpu/vulnerabilities/*” eingeben und sollte dann zum Beispiel die folgenden Ausgaben sehen:
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI /sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable /sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable: Minimal generic SM retpoline
Spectre-Variante 2 würde bei ihm noch funktionieren, weil sein Compiler das “retpoline”-Feature noch nicht korrekt unterstütze. Einige Distributionen hätten allerdings diese Möglichkeit einer einheitlichen Abfrage des Kernel-Status nicht implementiert. Wenn der Befehl also keine Ausgabe zeigt, muss das nicht heißen, dass die Patches nicht ausgeliefert sind. In diesem Fall sollten die User ihre Distribution dazu bringen, dieses Kernel-Feature auch zu nutzen.





