È stato aggiunto codice per lo sviluppo di driver in linguaggio Rust al ramo del kernel Linux-next

Nella branch linux-next, sulla base della quale sarà creato il rilascio del kernel Linux 5.13, è stato incluso un set iniziale di componenti per lo sviluppo di driver per dispositivi in linguaggio Rust. È stata pubblicata separatamente la documentazione per l'uso di Rust nel kernel Linux e un esempio di modulo del kernel con un driver di dispositivo carattere in linguaggio Rust. Il codice è stato aggiunto da Stephen Rothwell, maintainer della branch Linux-next. Di solito, la branch Linux-next include codice pronto per essere accettato nel prossimo ciclo di accettazione delle modifiche al kernel, ma al momento non è chiaro se il supporto per Rust sarà accolto da Linus Torvalds nel Linux 5.13, poiché il codice non è stato sottoposto a revisione da un ampio gruppo di sviluppatori.

Il supporto per lo sviluppo di driver del kernel Linux in linguaggio Rust è stato attivamente discusso lo scorso anno, anche con la partecipazione di Linus Torvalds, il quale non ha escluso tale possibilità. L'idea è stata sostenuta anche da Greg Kroah-Hartman, responsabile del supporto della branch stabile del kernel Linux. L'uso di Rust per lo sviluppo di driver consentirà di creare driver sicuri e di alta qualità con il minimo sforzo, privi di problemi come l'accesso alla memoria dopo il rilascio, la de-referenziazione di puntatori nulli e il superamento dei limiti del buffer.

Per attivare il supporto per Rust nella branch linux-next, è stata aggiunta l'opzione CONFIG_RUST nel KConfig («Supporto Rust» nel menu «Impostazioni generali»), che, se abilitata, verifica la presenza in sistema del compilatore rustc e, in caso positivo, consente di attivare gli altri componenti legati a Rust (ad esempio, nel menu «Kernel hacking» appare la sezione «Rust hacking»). L'uso di Rust è considerato un'opzione non attiva per impostazione predefinita e non comporta che Rust venga incluso tra le dipendenze di compilazione obbligatorie del kernel.

La costruzione di componenti del kernel in Rust è possibile sia utilizzando GCC che compilando con Clang. Per utilizzare Rust nel kernel è necessaria l'installazione di build notturne recenti del compilatore rustc, non più vecchie della branch nightly-2021-02-20 (si promette di aggiungere il supporto per le branch stabili di Rust, ma al momento è vincolato a alcune funzionalità sperimentali). È inoltre necessario avere nel sistema le librerie standard di Rust, fornite nel pacchetto rust-src, e il generatore di binding bindgen. Il supporto è attualmente limitato alle piattaforme x86_64 e ARM64.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster