Ein Bug in der Hyper-Threading-Funktion betrifft Skylake- und Kaby-Lake-Chips
Skylake

Am Wochenende entdeckten die Debian-Entwickler etwas Seltsames in den letzten beiden Prozessorgenerationen von Intel-Prozessoren, Skylake und Kaby Lake. Unter sehr spezifischen Bedingungen könnte ein Bug in der Hyper-Threading-Funktion zu einem „unvorhersehbares Verhalten“ des Systems führen, einschließlich Datenkorruption und -verlust. Aber bevor die Lawine größer wird, haben wir gute Nachrichten: Der Fehler kann durch Anpassungen am Mikrocode behoben werden, was sich in einem BIOS/UEFI-Update für die Mainboards niederschlägt.

Hardwarefehler sind so unvermeidlich wie Softwarefehler, obwohl ihre Auswirkungen für den Benutzer viel schwerwiegender und kostspieliger sein können. Leider scheinen die letzten Prozessorgenerationen nicht immun zu sein. Nicht weiter entfernt: Die Ryzen-Chips frieren bei einigen Arbeitslasten mit FMA3-Code ein, und AMD arbeitete unter Hochdruck mit den Mainboard-Herstellern zusammen, um den notwendigen Patch zu veröffentlichen. Jetzt ist Intel an der Reihe, oder genauer gesagt, die Skylake- und Kaby-Lake-Prozessoren des Unternehmens, die mit aktivierter Hyper-Threading-Funktion verwendet werden (sofern verfügbar). Der Fehler wurde von Debian-Entwicklern am Wochenende gemeldet, aber laut dem Text wird der Bug seit Januar untersucht, und die erste Erkennung geht auf Mitte 2016 zurück.

Ein Bug in der Hyper-Threading-Funktion betrifft Skylake- und Kaby-Lake-Chips
Der Bug tritt in sehr spezifischen Situationen auf

Die öffentliche Dokumentation von Intel beschreibt den Bug als „Kurze Schleifen, die die Register AH/BH/CH/DH verwenden, könnten zu unvorhersehbarem Verhalten im System führen“. In der Beschreibung lesen wir, dass unter komplexen Bedingungen kurze Schleifen mit weniger als 64 Anweisungen, die die Register AH, BH, CH oder DH sowie die entsprechenden breiten Register (wie RAX, EAX oder AX für AH) verwenden, unvorhersehbare Effekte auf dem Computer verursachen können, aber das passiert nur, wenn die beiden logischen Prozessoren in einem physischen Prozessor aktiv sind (d. h. Hyper-Threading).

Intel hat bereits mehrere Korrekturen im Mikrocode veröffentlicht, und es ist nur eine Frage der Zeit, bis sie alle Benutzer erreichen, sei es als Patches auf Betriebssystemebene oder als Update im BIOS/UEFI des Mainboards. Im schlimmsten Fall, wenn ein Benutzer von dem Bug betroffen ist, hat er immer die Möglichkeit, Hyper-Threading vorübergehend zu deaktivieren, aber die Anzahl der Vorfälle war so gering, dass ich persönlich nicht glaube, dass es sich lohnt, so weit zu gehen.

Quelle: