Dixième version des patchs pour le noyau Linux avec prise en charge du langage Rust

Miguel Ojeda, l'auteur du projet Rust-for-Linux, a proposé aux développeurs du noyau Linux de considérer la version v10 des composants pour le développement de pilotes de périphériques en Rust. Il s'agit de la onzième édition des correctifs prenant en compte la première version, publiée sans numéro de version. L'inclusion du support de Rust a été approuvée par Linus Torvalds pour être intégrée dans le noyau Linux 6.1, à condition qu'aucun problème imprévu n'émerge. Le développement est financé par Google et l'organisation ISRG (Internet Security Research Group), fondatrice du projet Let's Encrypt, qui promeut HTTPS et développe des technologies pour renforcer la sécurité sur Internet.

Comme la version précédente des correctifs, la version v10 est réduite à l'essentiel, suffisant pour compiler un simple module de noyau écrit en Rust. Les différences par rapport à la version précédente concernent des retouches mineures, le remplacement de sizeof par ARRAY_SIZE dans kallsyms.c et l'adaptation des correctifs au noyau v6.0-rc7. Il est prévu que le correctif minimal, dont la taille a été réduite de 40 à 13 000 lignes de code, simplifie l'acceptation du support de Rust dans la branche principale du noyau. Une fois le support minimal assuré, il est prévu d'augmenter progressivement les fonctionnalités existantes en intégrant d'autres modifications de la branche Rust-for-Linux.

Les changements proposés permettent d'utiliser Rust comme deuxième langage pour le développement de pilotes et de modules noyau. Le support de Rust est présenté comme une option, qui n'est pas active par défaut et ne rend pas Rust une des dépendances de compilation obligatoires du noyau. Utiliser Rust pour développer des pilotes permettra de créer des pilotes sûrs et de meilleure qualité avec un minimum d'efforts, évitant des problèmes tels que l'accès à une zone mémoire après sa libération, la déréférenciation de pointeurs null et le dépassement de tampon.

La sécurité de la mémoire est assurée dans Rust au moment de la compilation par la vérification des références, le suivi de la propriété des objets et la prise en compte de la durée de vie des objets (portée), ainsi que par l'évaluation de l'accès à la mémoire lors de l'exécution du code. Rust fournit également des moyens de protection contre les débordements d'entiers, exige l'initialisation obligatoire des variables avant leur utilisation, gère mieux les erreurs dans la bibliothèque standard, applique le concept de références et de variables immuables par défaut, et propose une forte typage statique pour minimiser les erreurs logiques.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster