Un paio di anno fa avevamo pubblicato la storia relativa al bug FDIV del primo Pentium, che quasi mandò Intel a gambe all’aria. Dopo quella brutta avventura, Intel non ricadde più in un simile errore, ed anzi cercò in tutti i modi di evitarlo. Ad esempio, creò, tenne, e continua a mantenere sempre aggiornata la lista dei bug conosciuti delle proprie CPU.
Nell’arco di questi 20 anni, comunque, le CPU di Intel sono state afflitte da bug più o meno gravi, e con l’aumentare della complessità dei prodotti, il numero di questi bug, e della loro importanza, è andato ad aumentare notevolmente. Possiamo ricordare, negli ultimi tempi, il bug relativo alle istruzioni TSX in Haswell/Broadwell, alle istruzioni AVX in Skylake, il bug relativo al Management Engine, il problema di morte precoce di alcuni SoC ATOM, e via di questo passo.
L’ultimo bug scoperto, e che interessa una quantità abnorme di CPU, soprattutto in campo Enterprise/Business, è sicuramente il più grave dell’ultima decade, in quanto questo problema riguarda la Memoria Virtuale, sia in ambiente GNU/Linux sia in ambiente Windows, come riporta la testata inglese TheRegister: “It is understood the bug is present in modern Intel processors produced in the past decade. It allows normal user programs – from database applications to JavaScript in web browsers – to discern to some extent the layout or contents of protected kernel memory areas” (Comunque non si sa ancora quanto possa essere semplice arrivare ad ottenere l’accesso al Ring0, il livello d’accesso attraverso il quale è possibile fare qualunque cosa all’interno di un sistema). Si tratta di un problema che risulta particolarmente grave in ambienti Virtualizzati e Cloud.
Questo impone la creazione di Fix che evitino l’uso di alcune feature relative all’utilizzo della Memoria di Sistema e della Cache, con un ingente impatto prestazionale (La patch sarà solo Software, in quanto è un problema di Design Hardware. Non può quindi essere recuperato attraverso l’aggiornamento del Microcode del processore stesso). La perdita prestazionale, utilizzando la patch correttiva, impatta TUTTI i software utilizzati sul sistema, non solo quelli Virtualizzati, è bene ricordarlo! A subirne particolarmente l’impatto, infatti, saranno quei task che necessitano di elevate prestazioni in I/O. Anche chi fa uso di molti SSD NVMe (In particolare in RAID) subirà sicuramente notevoli cali prestazionali. A dimostrazione di ciò vi sono i Benchmark effettuati dalla testata Phonorix pre e post patch. Come è possibile osservare, le perdite prestazionali possono essere piuttosto consistenti.
AMD ha affermato che le proprie CPU non sono affette da questo bug, e i test effettuati da alcuni soggetti terzi lo dimostrano, ma per il momento le patch di sicurezza correttive vengono applicate anche alle CPU della casa di Sunnyvale. AMD si è mossa celermente per cambiare la situazione, in quanto le sue CPU sono, appunto, immuni da questo bug. Per il momento, però, nulla è cambiato. Sarà interessante osservare il vantaggio prestazionale (Già ora discreto) delle CPU EPYC nei confronti delle CPU Xeon con i prossimi aggiornamenti software nei task intensivi di I/O.
Continuiamo con l'affermare che le CPU Skylake-EP dovrebbero essere immuni a questo Bug, considerato il nuovo design dell’uArch, ma aspettiamo ulteriori dettagli in merito.
Sempre riguardo la patch correttiva GNU/Linux, sembra che gli ute.nti dotati di GPU NVIDIA possano incontrare seri problemi, in quanto, come spiega un utente sul forum di Phornix, It seems NVidia users can't run the patched kernel. The patch changes a previously non-GPL symbol to a GPL one, and the nvidia module build fails: FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'cpu_tlbstate'.
In ultimo, risulta curioso notare come il CEO di Intel, Brian Krzanich, abbia recentemente venduto la maggior parte delle proprie azioni Intel, rimanendo con il numero minimo legale delle stesse. Alcuni ipotizzano l'eventualità di indagini per Insider Trading, cioè lo sfruttamento di informazioni riservate per godere di vantaggi in Borsa (In molti sospettano che Intel fosse a conoscenza di questo Bug da diversi mesi).