Scoperta una grave falla in HyperThreading su Skylake e Kaby Lake

Scoperta una grave falla in HyperThreading su Skylake e Kaby Lake

Scoperta dagli sviluppatori del linguaggio OCaml una problematica che porta, in specifiche condizioni, ad un comportamento non coerente del sistema quando è abilitato HyperThreading su processori Skylake e Kaby Lake.

di pubblicata il , alle 09:21 nel canale Processori
IntelSkylakeKaby Lake
 

Una falla nell'implementazione della tecnologia HyperThreading sui processori Intel Skylake e Kaby Lake è stata scoperta da alcuni sviluppatori del linguaggio OCaml, che hanno riferito il fatto agli sviluppatori del progetto Debian. Intel e i partner produttori di schede madri sono al lavoro su una soluzione, ma per il momento è consigliabile disattivare la funzionalità sui processori che ne sono dotati.

Il problema, che coinvolge tutte le declinazioni dei processori Skylake e Kaby Lake incluse le linee Xeon, è descritto dall'errata SKZ7/SKW144/SKL150/SKX150/KBL095/KBW095, che recita così (come riportato sulla mailing list di Debian):

Errata: SKZ7/SKW144/SKL150/SKX150/KBL095/KBW095 - Brevi cicli che usano i registri AH/BH/CH/DH possono causare un comportamento imprevedibile del sistema.

Problema: in condizioni micro-architetturali complesse, brevi cicli di meno di 64 istruzioni che utilizzano i registri AH, BH, CH o DH così come i loro equivalenti più ampi (ad es. RAX, EAX o AX per AH) possono causare un comportamento imprevedibile del sistema. Questo può avvenire solo quando entrambi i processori logici sullo stesso processore fisico sono attivi.

Implicazione: a causa di questo erratum, il sistema potrebbe dare vita a comportamenti imprevedibili.

Partendo dal presupposto che l'informatica è (o dovrebbe essere) una scienza deterministica e che introdurre non-determinismo può portare a problemi di varia gravità, tra cui anche la perdita dei dati, al momento non esistono ancora soluzioni universali e definitive al problema. Il suggerimento è quello di disattivare del tutto la funzionalità HyperThreading, in modo da evitare in toto che si possa verificare la situazione descritta dall'errata.

Se, infatti, Intel ha rilasciato un aggiornamento del microcodice che risolve il problema per alcuni processori Skylake (nello specifico, i modelli 78 e 94 con stepping 3), non ci sono attualmente soluzioni per gli altri modelli. Per ottenere una soluzione è necessario attendere che venga rilasciato dal produttore della scheda madre un aggiornamento del BIOS/UEFI che risolva gli errata KBL095 e KBW095 nel caso dei processori Kaby Lake e SKW144, SKL150, SKX150 e SK27 per i processori Skylake. Alcuni aggiornamenti sono già in fase di rilascio, mentre altri saranno rilasciati in futuro.

È consigliabile, per chiunque possieda un processore con HyperThreading e architettura Skylake o Kaby Lake, seguire attivamente gli aggiornamenti del BIOS/UEFI della propria scheda madre e installare le patch non appena queste vengono rilasciate.

Resta aggiornato sulle ultime offerte

Ricevi comodamente via email le segnalazioni della redazione di Hardware Upgrade sui prodotti tecnologici in offerta più interessanti per te

Quando invii il modulo, controlla la tua inbox per confermare l'iscrizione.
Leggi la Privacy Policy per maggiori informazioni sulla gestione dei dati personali

11 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Micene.127 Giugno 2017, 09:35 #1
ma ha scritto imprevedibile nn perche nn sia deterministica, ma perche non lo sa neanche lui che puo succedere
fraquar27 Giugno 2017, 09:40 #2
Quindi per l'utente comune nessun problema, come sempre.
Bellaz8927 Giugno 2017, 09:40 #3
Comunque gli sviluppatori di Ocaml sono veramente dei tosti. (Sia per la notizia, sia per il linguaggio che sviluppano)
devil_mcry27 Giugno 2017, 09:42 #4
Originariamente inviato da: Micene.1
ma ha scritto imprevedibile nn perche nn sia deterministica, ma perche non lo sa neanche lui che puo succedere


Potrebbero scrivere in concorrenza quei registri, diventa non deterministica visto che il dato cambia dal contesto e il programma fa cosa vuole...
johnp198327 Giugno 2017, 10:44 #5
Inutile allarmismo, i primi skylake sono fuori da quanto? 2015... nessuno si è mai lamentato ad oggi.
Bellaz8927 Giugno 2017, 10:47 #6
Originariamente inviato da: johnp1983
Inutile allarmismo, i primi skylake sono fuori da quanto? 2015... nessuno si è mai lamentato ad oggi.


Dipende quello che ci fai... In alcuni ambiti questo comportamento e' inaccettabile.
ninja75027 Giugno 2017, 11:10 #7
e dopo il bug del pentium 60...
Micene.127 Giugno 2017, 11:10 #8
Originariamente inviato da: devil_mcry
Potrebbero scrivere in concorrenza quei registri, diventa non deterministica visto che il dato cambia dal contesto e il programma fa cosa vuole...


ma si parla sempre di programmi per cui nn fa cosa vuole ma segue le sue istruzioni...in questo caso sbagliate....
devil_mcry27 Giugno 2017, 11:15 #9
Originariamente inviato da: Micene.1
ma si parla sempre di programmi per cui nn fa cosa vuole ma segue le sue istruzioni...in questo caso sbagliate....


No, sono 2 thread di programmi diversi che si sminchiano i registri a caso, per quel che sembra. Non è deterministico il comportamento perché l'istruzione X non segue il flusso che la precede

Se te setti 1 in un registro e questo a caso prende un numero diverso, che numero ti trovi dopo? Non lo sai, quindi non è deterministico...
floc27 Giugno 2017, 11:41 #10
ora come ora probabilmente il problema coinvolge un limitatissimo numero di scenari di calcolo complesso. Il problema sarebbe se qualcuno riuscisse a sfruttare una falla del genere per scopi malevoli.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^