Rust salverà Linux: Greg Kroah-Hartman conferma la fine dell'esperimento

Punti chiave:
  • Greg Kroah-Hartman ha annunciato alla Rust Week 2026 che l'utilizzo di Rust nel kernel Linux non è più un esperimento, ma sta diventando uno standard ufficiale.
  • Il team Linux riceve quotidianamente quasi 13 segnalazioni di vulnerabilità, causate principalmente da errori umani nel linguaggio C.
  • Il compilatore di Rust rileva automaticamente gli errori di memoria e i crash, riducendo potenzialmente i guasti di sistema fino all'80%.
  • Verrà implementato un sistema per etichettare i dati hardware come "non attendibili", obbligando gli sviluppatori a convalidarli prima di utilizzarli.
  • L'attuale codice C (36 milioni di righe) non verrà riscritto. Rust verrà utilizzato solo per sviluppare nuovi controller e sottosistemi.

Rust Week 2026

Durante la recente conferenza Rust Week 2026 tenutasi a Utrecht, Greg Kroah-Hartman, uno dei principali responsabili della manutenzione del kernel Linux, è salito sul palco con un messaggio molto chiaro: Rust è la salvezza di cui il progetto ha bisogno.

Con ben tredici CVE (Common Vulnerabilities) pubblicate quotidianamente , il team di sviluppo si trova ad affrontare un volume di bug quasi ingestibile. Secondo Kroah-Hartman, che si occupa di queste vulnerabilità dal 2005, la colpa è da attribuire alle classiche carenze del linguaggio C nella gestione della memoria e degli errori , un problema che Rust promette di risolvere drasticamente.

Il messaggio, rivolto a una platea di sviluppatori, è stato diretto e senza fronzoli. Il programmatore veterano ha confessato che il team ripone piena fiducia nella comunità Rust per salvaguardare le fondamenta dell'informatica moderna. Per loro, la fase di test è terminata, poiché l'utilizzo di Rust nel kernel è ormai una realtà, e procederanno a pieno ritmo per integrarlo nei componenti più critici.

L'incubo del codice C e la soluzione automatica di Rust

Per illustrare il problema reale che affrontano quotidianamente , lo sviluppatore ha ricordato un difetto nel codice Bluetooth rimasto inosservato per quindici anni , causato semplicemente dalla mancata verifica di un puntatore di memoria . Ha anche menzionato un bug nel codice di Xen in cui qualcuno si era dimenticato di rilasciare un blocco . Queste piccole sviste umane si accumulano nel tempo e finiscono per causare crash di sistema o aprire le porte ad attacchi informatici. Il grande vantaggio di Rust è che individua questi errori durante la compilazione del codice , prima che raggiunga la fase di revisione. Se un programmatore si dimentica di verificare la presenza di un errore o di rilasciare una risorsa, il programma semplicemente si rifiuta di compilare.

Grazie a questa verifica automatica , i revisori del codice non devono più perdere tempo a cercare dettagli insignificanti e possono concentrarsi sulla logica effettiva del programma. Kroah-Hartman stima che queste sole funzionalità elimineranno il sessanta percento degli attuali bug del kernel. Inoltre, questo nuovo modo di lavorare ha già influenzato il codice C, costringendo i programmatori a ripulire le proprie interfacce e ad adottare tecniche più sicure, dimostrando che la sola esistenza di Rust ha già migliorato Linux.

Oltre ai blocchi di memoria, la presentazione ha affrontato un'importante filosofia di sicurezza basata su un vecchio aforisma di Microsoft: presumere che qualsiasi dato che entri nel sistema sia dannoso . Kroah-Hartman ha spiegato che stanno lavorando a un metodo all'interno di Rust per etichettare esplicitamente i dati come "non attendibili" all'interno del sistema di tipi stesso.

In questo modo, il compilatore obbligherà il programmatore a convalidare le informazioni prima che possano essere utilizzate o consultate . Ciò è particolarmente importante oggigiorno, poiché gli sviluppatori non solo diffidano dei programmi utente, ma anche dell'hardware stesso, che spesso presenta difetti di fabbrica o può addirittura essere progettato in modo malevolo. Concentrando tutte le validazioni in un unico punto, i controlli di sicurezza risulteranno molto più rapidi e precisi.

Evoluzione senza riscrivere tutto da zero

Nonostante il suo entusiasmo, l'esperto ha chiarito che Rust non è una magia . Come esempio, ha citato un piccolo frammento di codice scritto in Rust, progettato per visualizzare un codice QR in caso di crash del sistema, che ha finito per causare problemi di memoria perché nessuno si era preoccupato di controllare la dimensione del buffer dei dati. Rust può anche fallire se non utilizzato con attenzione e buon senso. Per questo motivo, nessuno nell'organizzazione sta prendendo in considerazione l'idea di riscrivere i 36 milioni di righe di codice C già presenti in Linux. La regola è chiara: il vecchio codice rimane così com'è e i nuovi strumenti verranno utilizzati solo per creare driver moderni.

Attualmente, il kernel è composto da sole 113.000 righe circa in Rust , per lo più adattamenti temporanei per colmare il divario tra i due linguaggi. Tuttavia, progetti di grandi dimensioni come il sistema di comunicazione interno di Android (Binder) sono già nel pieno della transizione , il che significa che miliardi di telefoni eseguiranno presto questo codice quotidianamente.

Il progetto presuppone che questo cambiamento sia una naturale evoluzione, in cui i vecchi driver C cadranno semplicemente in disuso nel corso degli anni, man mano che il nuovo hardware richiederà programmi creati da zero con moderne garanzie di sicurezza.


Aggiungi come fonte preferita in Google