17 points par GN⁺ 2025-12-11 | 3 commentaires | Partager sur WhatsApp
  • Le travail d’intégration de Rust dans le noyau Linux a terminé sa phase expérimentale et est désormais reconnu comme un composant officiel
  • Lors du Maintainers Summit annuel, les développeurs se sont accordés pour adopter la prise en charge de Rust comme une fonctionnalité permanente
  • En conséquence, le tag « experimental » sera supprimé du code lié à Rust dans le noyau
  • Un éditeur de LWN a déclaré que « l’expérience est terminée, et ce fut un succès », en évoquant les réalisations de l’équipe Rust for Linux
  • Cela est considéré comme un tournant important dans l’élargissement des langages de développement du noyau, ainsi que dans son orientation vers la sécurité et la modernisation

Fin de l’expérience Rust dans le noyau et adoption officielle

  • La prise en charge de Rust dans le noyau a été discutée lors du Maintainers Summit annuel, et les développeurs présents ont convenu que Rust n’était plus une fonctionnalité expérimentale
    • Rust fait désormais pleinement partie du noyau
    • En conséquence, la mention « experimental » sera retirée du code concerné
  • Dans son billet, un éditeur de LWN a explicitement écrit : « l’expérience est terminée, et ce fut un succès »
    • Il a également adressé un message de félicitations à l’équipe Rust for Linux pour son travail

Réaction de la communauté

  • Le titre du billet a brièvement prêté à confusion, certains lecteurs croyant qu’il s’agissait d’un retrait de Rust
    • Plusieurs commentaires ont exprimé des réactions du type « je me suis fait avoir un instant » ou « quel ascenseur émotionnel »
  • Certains utilisateurs ont réagi avec humour en mentionnant le style de titres de Phoronix
    • Ils ont aussi souligné l’utilité des benchmarks de Phoronix et de ses mises à jour sur l’écosystème open source
  • D’autres commentaires ont rappelé que Microsoft introduit également Rust dans le noyau Windows
    • Selon certains, plusieurs composants sont déjà écrits en Rust et inclus dans des versions livrées

Ce que signifie l’adoption de Rust

  • Le passage de la prise en charge de Rust dans le noyau à une fonctionnalité officielle et pérenne inscrit durablement dans le développement du noyau le renforcement de la sécurité mémoire et l’adoption d’un langage moderne
  • Avec l’adoption de Rust à la fois dans le noyau Linux et dans Windows, le renouvellement générationnel des langages de programmation système devient plus visible
  • La communauté voit dans cette décision l’aboutissement d’une expérimentation réussie et attend désormais une extension future des modules du noyau basés sur Rust

3 commentaires

 
secret3056 2025-12-12

Cela dit, plusieurs mainteneurs n'ont-ils pas quitté le projet ?

 
bus710 2025-12-12

Il n’existe qu’un seul livre sur le sujet en coréen, mais malheureusement, comme la manière d’utiliser Rust dans le noyau Linux a connu plusieurs changements cassants, il n’est plus du tout compatible avec les noyaux actuels. Ce serait vraiment bien qu’il soit mis à jour via GitHub ou d’autres canaux similaires.

 
GN⁺ 2025-12-11
Réactions sur Hacker News
  • La prise en charge de Rust a énormément progressé ces deux dernières années
    on peut désormais écrire des modules du noyau presque sans boilerplate
    la suppression du tag « experimental » me semble être une étape majeure
    le vrai point de bascule sera probablement le jour où les distributions proposeront des noyaux avec la prise en charge de Rust activée par défaut

    • certaines distributions le font déjà
      par exemple, NixOS et Arch activent l’écran de kernel panic avec QR code écrit en Rust
      Fedora le prend probablement aussi en charge
    • Il me semble que Fedora 43 est compilé avec CONFIG_RUST=y
    • Je me demande ce que signifie exactement l’expression « noyau avec la prise en charge de Rust activée par défaut »
      cela ne veut pas dire que le noyau prend en charge un espace utilisateur Rust, mais simplement qu’une partie du code du noyau est compilée avec rustc
    • Tant que Rust ne sera pas pleinement pris en charge par GCC, je me demande si ce sera possible sur toutes les plateformes
  • Après de longues résistances, voir Rust officiellement adopté dans le noyau Linux est émouvant
    bravo à l’équipe Rust for Linux

    • Je me souviens de la confusion autour du code Rust lié au projet Asahi à cause d’un refus du mainteneur
      je me demande si cet incident a été le premier domino du projet
    • D’après un article de Phoronix
      Alex Gaynor, qui était co-mainteneur de Rust for Linux, s’est officiellement retiré
      Miguel Ojeda reste désormais l’unique mainteneur officiel, avec plusieurs relecteurs de code
  • Je me demande si la suppression du tag « experimental » signifie que tous les mainteneurs sont désormais tenus de ne pas casser le code Rust

    • En pratique, c’est surtout un signal que Rust a désormais toute sa place dans le noyau
      cela donne confiance aux développeurs pour investir dans des pilotes basés sur Rust
      les règles restent les mêmes : on ne peut pas envoyer à Linus du code qui casse la build Rust
    • Dans le noyau, rien n’est garanti stable en dehors de l’API de l’espace utilisateur
      autrement dit, un mainteneur peut casser du code Rust interne sans enfreindre les règles
  • Je me demande si les architectures non prises en charge par Rust vont maintenant être abandonnées

    • Non. Rust n’est utilisé pour l’instant que dans les sous-systèmes de pilotes
      les parties centrales du noyau doivent toujours être écrites en C
    • Je me demande quelles architectures ne sont pas prises en charge
    • Une blague dit : « oui, elles sont toutes cuites »
  • Le titre de l’article aurait été modifié en « The (successful) end of the kernel Rust experiment »
    à cause des retours de la communauté selon lesquels le titre original était exagéré

    • Je trouve le titre corrigé approprié
      selon les règles de Hacker News
      il faut « ne modifier le titre d’origine que s’il est trompeur »
    • Le mot « successful » semble déjà implicite
      car un échec ne marque pas vraiment la fin d’une expérience
    • Sur le ton de la blague, quelqu’un propose un titre du genre « Linux devs tried Rust — you won’t BELIEVE the reaction! »
  • À la question « est-ce que c’est important ? »

    • « Oui, cela ajoute une grosse dépendance »
    • « Oui », répond quelqu’un brièvement
  • Si les pilotes du noyau Linux prennent la direction de Rust, je me demande si les systèmes BSD comme FreeBSD subiront eux aussi la même oxydation
    ou s’il y aura de la résistance et une bifurcation

  • Certains saluent l’arrivée de quelque chose de nouveau

    • Mais d’autres rétorquent que « le nouveau est instable et difficile à apprendre »
      grâce à sa sûreté mémoire et à son expressivité, Rust semble valoir cet effort
  • Je me demande quelles parties du noyau sont aujourd’hui écrites en Rust

    • L’exemple le plus connu est le DRM Panic “Screen of Death” écrit en Rust
      voir cet article de Phoronix
    • Rust est surtout utilisé du côté des pilotes GPU
  • Je me demande quelle proportion de unsafe il y a dans le code Rust du noyau
    autrefois, beaucoup se plaignaient du fait que unsafe était trop pénible à utiliser

    • L’essentiel du code unsafe est caché dans la kernel crate qui interagit avec l’API C
      les développeurs de pilotes ont très rarement besoin d’écrire de l’unsafe
    • unsafe est conçu par nature pour n’être utilisé qu’au niveau du code de bordure
      l’essentiel du code est écrit en Rust sûr
    • unsafe reste difficile, mais dans le code réel des pilotes il apparaît très peu
      par exemple, pwm_th1520.rs ne contient
      qu’une ligne d’unsafe pour prendre en charge Send et Sync
    • Le principe est de documenter les blocs unsafe et de les encapsuler dans des interfaces sûres afin de ne plus jamais avoir à les voir directement