Skylake und Kaby Lake: Debian warnt vor "Albtraum-Bug" in Intel-CPUs

" Skylake - und Kaby-Lake -Prozessoren könnten in einigen Situationen gefährliches Fehlverhalten aufweisen, wenn Hyper-Threading aktiviert ist" , schreibt der Entwickler Henrique Holschuh in einer E-Mail an die Entwicklerliste des Debian-Projekts(öffnet im neuen Fenster) , die explizit als Warnung markiert ist. Die CPU-Fehler sind allerdings nicht auf Debian oder Linux beschränkt, sondern könnten auch unter Windows oder vielleicht sogar auch auf Macs auftreten.
Laut dem Debian-Projekt kann der Fehler "ein unvorhersehbares Systemverhalten verursachen" , wie etwa Fehlverhalten von Anwendung und des Systems, Datenveränderungen oder gar Datenverlust. Einige Nutzer von Debian Stable alias Stretch seien von dem Fehler betroffen, weshalb nun die Warnung veröffentlicht worden ist.
Nutzer der genannten CPU-Generationen von Intel werden angehalten, sich der Behandlung des Fehlers zu widmen, da die potenziell betroffene Software sich nur sehr schwer erkennen lasse und mögliche Probleme unvorhersehbar seien. Die einfachste Möglichkeit ist ein Microcode-Update der CPU oder der Verzicht auf Hyperthreading. In dem Changelog des Mircocode-Pakets von Debian(öffnet im neuen Fenster) vermerkt Maintainer Holschuh, dass damit ein "Albtraum" -Fehler behoben werde.
Kaum Informationen von Intel
Zur Erklärung des Fehlers schreibt das Debian-Team, es sei auf den CPU-Fehler durch einen Entwickler von Ocaml hingewiesen worden. Demnach werde der Fehler durch den Ocaml-Compiler ausgelöst. Das Auftreten führt das Team demnach auf eine bestimmte Sequenz in GCC-generiertem Code zurück, dessen Muster aber nur selten und nur unter bestimmten Umständen erzeugt werde.
Berichte über entsprechende Fehler reichen wohl bereits zurück bis in das zweite Quartal 2016, das Ocaml-Team untersucht diese Fehler aktiv seit Januar 2017. Als Fehlerursache konnte die Skylake-Plattform mit aktiviertem Hyperthreading ausgemacht werden. Das Ocaml-Team habe daraufhin Intel kontaktiert, jedoch keinerlei Rückmeldung erhalten.
Hersteller Intel hat den CPU-Bug aber offenbar ohne große Ankündigung gefunden und behoben. In den System-Errata SKZ7, SKW144, SKL150, SKX150, SKZ7, KBL095, KBW095 schreibt Intel nur sehr kurz: "Kurze Schleifen, die AH-, BH-, CH-, DH-Register verwenden, können unvorhersehbares Systemverhalten verursachen" , sofern Hyperthreading aktiviert sei.
Microcode als Update oder Verzicht auf Hyperthreading
Intel stellt für Linux-Nutzer entsprechende Microcode-Updates (Version 3.20170511.1) bereit, die von Distributionen wie Debian oder auch Opensuse bereits als Pakete zur Verfügung stehen. Für Ubuntu gibt es einen Bugreport(öffnet im neuen Fenster) , der ein Update fordert. Laut Debian ist der Microcode bisher aber nur für CPUs mit der internen Bezeichnung Family 6 Model 78 Stepping 3 sowie Family 6 Model 94 Stepping 3 verfügbar.
Die Bezeichnung lässt sich unter Linux via /proc/cpuinfo auslesen. Betroffen sind demnach verschiedene Ultrabook- und Desktopvarianten der Skylake-CPUs, darunter auch die Topmodelle i7-6600U und i7-6700K. Für andere Skylake-Modelle gilt das Microcode-Update offenbar nicht. Die Debian-Entwickler empfehlen hier das Abschalten des Hyperthreadings und, die Mainboardhersteller mit der Bitte um ein Firmware-Update zu kontaktieren.
Letzteres ist derzeit wohl auch die einzige Möglichkeit, den Fehler auf Kaby-Lake-Systemen zu vermeiden. Denn die entsprechenden Microcode-Updates wurden bisher ausschließlich für die Systemhersteller bereitgestellt, so dass nur ein UEFI-Update den Fehler behebt. Das Debian-Team schreibt dazu an seine Nutzer: "Wenn Sie Glück haben, könnte ein solches UEFI-Update bereits vorhanden sein oder sich in der Beta-Prüfung befinden" .
UEFI-Updates für Windows und Mac einzige Lösung
Für Windows-Nutzer sind UEFI-Updates üblicherweise die einzige Möglichkeit, den Microcode für die CPU zu aktualisieren. Für einige ausgewählte Geräte werden diese aber auch über das Windows-Update verteilt. Für Skylake-Chips mit den Signaturen 0x406e3 und 0x506e3 wird der Fehler demnach in der Microcode-Version 0xb9/0xba oder neuer behoben. Zu Skylake-CPUs mit der Signatur 0x50654 gibt es laut Debian keine Informationen.
Kaby-Lake-CPUs mit den Signaturen 0x806e9, 0x906e9 und Microcode-Version 0x48 sind von dem Fehler ebenfalls betroffen. Eventuell werde der Fehler hier mit den Microcode-Versionen 0x5d/0x5e oder neuer behoben. Das Debian-Team könne dies derzeit aber noch nicht unabhängig verifizieren. Windows-Nutzer erhalten die notwendigen Informationen unter anderem über Werkzeuge wie HWinfo.
Auch einige Macbook Pro von Apple aus dem Jahr 2016 mit den Quad-Core-CPUs i7-6700HQ und i7-6820HQ sind von dem Fehler betroffen, möglicherweise auch einige weitere Geräte von Apple mit Skylake- und Kaby-Lake-Chips, so nutzt auch der iMac Retina 5K die betroffene CPU i7-6700K. Zwar erstellt Apple entsprechende EFI-Updates und stellt diese zum Download(öffnet im neuen Fenster) bereit, für die Macbook Pro ist dies aber noch nicht geschehen.



