Linux s'apprête à adopter rust pour renforcer sa sécurité
Greg Kroah-Hartman, le responsable de maintenir les versions stables de Linux, a récemment évoqué l'importance de Rust dans le développement du noyau de l'OS. Selon lui, le langage de programmation a permis d'éliminer une grande quantité d'erreurs mécaniques dans le code, ce qui rend le travail des développeurs plus facile et plus sûr.

Rust, une alternative à c pour le noyau de linux
Kroah-Hartman a d'abord été réticent à adopter Rust, préférant rester fidèle à C qu'il connaissait bien. Cependant, après avoir fait l'expérience du langage, il a reconnu que Rust avait raison de le recommander. «Rust est vraiment amusant. Il rend la programmation amusante. Il élimine beaucoup de soucis du compilateur, ce qui permet de faire du code un peu mieux», a-t-il déclaré.
En utilisant Rust, les développeurs de Linux peuvent économiser du temps et réduire les risques d'erreurs dans leur code. Cela est particulièrement important pour le noyau, qui interagit directement avec la mémoire, le matériel, les processus et les autorisations du système. Un bug dans le noyau peut bloquer l'ordinateur, corrompre des données ou ouvrir une vulnérabilité.
Kroah-Hartman estime que Rust pourrait avoir évité environ 80% des vulnérabilités qu'il a vues au cours des 25 dernières années. Les erreurs de logique restantes seraient celles qu'il préférerait que les mainteneurs concentrent leur effort.
Si bien Rust ne simplifie pas Linux, il élimine les soucis inutiles. Des nouveaux contrôleurs Rust sont déjà apparus dans le noyau, et Kroah-Hartman prévoit que d'autres subsystèmes pourraient bientôt exiger que les nouveaux contrôleurs soient écrits en Rust.
Cependant, il n'y aura pas une migration en masse vers Rust. De nombreux millions de lignes de code existantes en C fonctionneront toujours correctement et ne justifieront pas une reécriture. Par exemple, Binder, le système qui permet de communiquer avec les processus d'Android, a des implémentations en C et en Rust, mais la première pourrait être abandonnée tandis que la version Rust pourrait devenir la référence future pour les nouveaux appareils Android.
Kroah-Hartman a souligné que le mouvement dépasse le noyau, avec Git et d'autres projets qui commencent à adopter Rust. Il a ainsi montré que Rust peut coexister avec des technologies plus anciennes sans obliger à une reécriture de zéro.
En fin de compte, Rust n'a pas rendu la programmation de Linux plus divertissante parce qu'il élimine la difficulté, mais parce qu'il permet aux développeurs de se concentrer sur créer des solutions plutot que de répéter les mêmes vérifications une et encore.