Tijdens het weekend ontdekten Debian-ontwikkelaars iets vreemds in de laatste twee generaties Intel-processors, Skylake en Kaby Lake. Onder zeer specifieke omstandigheden kan een bug in de Hyper-Threading-functie leiden tot "onvoorspelbaar gedrag" van het systeem, inclusief corruptie en gegevensverlies. Maar voordat de sneeuwbal groter wordt, hebben we goed nieuws: de fout kan worden verholpen met aanpassingen aan de microcode, wat zich vertaalt naar een BIOS/UEFI-update voor moederborden.

Bug in Hyper-Threading treft Skylake- en Kaby Lake-chips
Skylake

Hardwarefouten zijn net zo onvermijdelijk als softwarefouten, maar hun impact kan veel ernstiger en kostbaarder zijn voor de gebruiker. Helaas lijken de nieuwste generaties processors niet immuun te zijn. Zo bleven Ryzen-chips bevroren bij bepaalde workloads met FMA3-code, en AMD werkte samen met moederbordfabrikanten om de nodige patch uit te brengen. Nu is het de beurt aan Intel, of specifieker, de Skylake- en Kaby Lake-processors van het bedrijf die worden gebruikt met de Hyper-Threading-functie ingeschakeld (als die beschikbaar is).

De fout werd dit weekend gerapporteerd door Debian-ontwikkelaars, maar volgens de tekst wordt de bug sinds januari onderzocht en dateert de eerste detectie van medio 2016.

Bug in Hyper-Threading treft Skylake- en Kaby Lake-chips
De bug manifesteert zich in zeer specifieke situaties

De officiële beschrijving van Intel

De openbare documentatie van Intel beschrijft de bug als "Korte lussen die gebruikmaken van AH/BH/CH/DH-registers kunnen onvoorspelbaar gedrag in het systeem veroorzaken". In de beschrijving lezen we dat onder complexe omstandigheden korte lussen met minder dan 64 instructies die gebruikmaken van de registers AH, BH, CH of DH, evenals de overeenkomstige brede registers (zoals RAX, EAX of AX voor AH), onvoorspelbare effecten op de computer kunnen hebben, maar dat gebeurt alleen wanneer de twee logische processors op dezelfde fysieke processor actief zijn (dat wil zeggen Hyper-Threading).

Oplossingen en werkaround

Intel heeft al verschillende correcties in de microcode gepubliceerd, en het is een kwestie van tijd voordat ze alle gebruikers bereiken, hetzij als patches op besturingssysteemniveau, hetzij als een update in de BIOS/UEFI van het moederbord. In het ergste geval, als een gebruiker wordt getroffen door de bug, heeft hij altijd de optie om Hyper-Threading tijdelijk uit te schakelen, maar het aantal incidenten is zo laag dat ik persoonlijk niet denk dat het de moeite waard is om zo ver te gaan.

Bron: Ars Technica