7920

Le problème, c'est qu'il ne s'agit pas de réécrire quoi que ce soit d'existant. Il s'agit juste de mettre en place une API qui permette à des driver écrits en Rust qui ont besoin du DMA de s'interfacer proprement avec le code existant. En l’occurrence le mainteneur râle juste par principe contre le code Rust dans Linux alors que ce qui est proposé n'a aucun impact sur le code qu'il maintient, il ajoute juste une interface Rust que le projet Rust for Linux s'engage a maintenir eux mêmes.
avatar

7921

Godzil (./7918) :
Pas surprenant, cette volonté de tout réécrire est toxique.

effectivement, valable partout.

pour un nouveau driver from scratch ou autre pourquoi pas

le reste, soit un kernel, attendra un port natif en rush (edit rust ou c'était pas une erreur mais j'ai perso pas test pour dire si cette vanne était omg ou pas) ou autre, plus un support du C (mdr) pour avoir ses drivers ect cheeky

quelle ineptie de contrebalancer les faiblesses des dev par un langage safe, arrêtez avec les $ et stagiaires et laissez juste vos dev ... dev !
et la le mec il le pécho par le bras et il lui dit '

7922

robinHood (./7921) :
pour un nouveau driver from scratch ou autre pourquoi pas
Justement le projet Rust for Linux n'a pour objectif que de permettre de faire de nouveaux drivers en Rust en fournissant des abstractions qui permettent de s'interfacer proprement avec le cœur du noyau. Il ne s'agit pas de remplacer le code existant.

robinHood (./7921) :
quelle ineptie de contrebalancer les faiblesses des dev par un langage safe, arrêtez avec les $ et stagiaires et laissez juste vos dev ... dev !
A croire que Linux est en effet géré par une grosse bande de stagiaire vu que rien que l'année dernière ils ont du émettre 1020 CVE pour des erreurs de corruption mémoire.
avatar

7923

je parle globalement, mais si tu estime devoir écrire un truc passant et éventuellement transpillé par une mouillette juste au cas ou tu ne sais pas ce que tu fais ou ne l'a pas véritablement testé, soit
alors certes on ne penses pas à tout mais bon.
et la le mec il le pécho par le bras et il lui dit '

7924

> A croire que Linux est en effet géré par une grosse bande de stagiaire vu que rien que l'année dernière ils ont du émettre 1020 CVE pour des erreurs de corruption mémoire.

si ça se corrige, et au passage augmente la capacité des dev vis à vis de ces risques est ce un soucis ?

vous allez esquivez un expert qui sait ce qu'il fait pour prendre un noob rust à la mode.
et la le mec il le pécho par le bras et il lui dit '

7925

robinHood (./7923) :
e parle globalement, mais si tu estime devoir écrire un truc passant et éventuellement transpillé par une mouillette juste au cas ou tu ne sais pas ce que tu fais ou ne l'a pas véritablement testé, soit
alors certes on ne penses pas à tout mais bon.
Le but est justement d'éviter les bricolages à base de transpilation. Il s'agit de proposer une API propre utilisable directement par tous les drivers en Rust.

robinHood (./7924) :
si ça se corrige, et au passage augmente la capacité des dev vis à vis de ces risques est ce un soucis ?
Si ça doit se corriger, c'est parce que du code problématique a passé les vérifications et s'est retrouvé publié. Ce qui signifie que même les experts chevronnés laissent passer ce genre d'erreur.
Et pour ce qui est d'augmenter les capacités des programmeurs, il en sera de même s'ils programment en Rust, c'est juste qu'ils se rendront compte des problèmes mémoire lors de l'écriture du code et pas une fois qu'ils ont été poussés en production.

robinHood (./7924) :
vous allez esquivez un expert qui sait ce qu'il fait pour prendre un noob rust à la mode.
Un programmeur Rust n'a pas plus de raison d'être mauvais qu'un programmeur C. A partir du moment où l'on est capable de contribuer significativement au noyau Linux, on est généralement déjà de toute façon un bon programmeur, que l'on utilise Rust ou C. Pour le moment les drivers Linux en Rust n'ont pas montré une mauvaise qualité, c'est plutôt l'inverse.

Après il ne s'agit pas de refuser l'expérience d'un programmeur noyau historique, mais en l’occurrence les seules objections qu'il a formulées étaient hors propos.
avatar

7926

Uther (./7922) :
A croire que Linux est en effet géré par une grosse bande de stagiaire vu que rien que l'année dernière ils ont du émettre 1020 CVE pour des erreurs de corruption mémoire.
J'aime cette répartie !

Sinon ouais moi aussi, autant j'ai de la tendresse pour le C car c'est un de mes premiers langages, et qu'il est possible de faire quelque chose de vraiment robuste avec, il faut admettre qu'à la base il n'a pas du tout été pensé pour la sécurité. Au contraire, c'est plutôt le langage que tu vas utiliser pour contourner les abstractions de l'OS à la base. La stdlib n'est absolument pas conçue autour de ça, et les fonctions qui apportent de la sécurité (genre strncpy) ne sont même pas faites pour ça.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

7927

1020 CVE, et combien rust aurait vraiment empêché d’avoir ces bugs ?
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

7928

Les 1020 CVE sont celles qui ont été notées comme des problèmes de corruption mémoire, ce qui est impossible en Rust safe. Certes, pour des drivers, il y aura certainement besoin d'utiliser quelques blocs unsafe, mais normalement c'est juste sur des petites sections de code clairement identifiées et donc facile contrôler, ce qui réduit énormément le risque.
On ne peut pas encore conclure définitivement au vu de la quantité de code actuelle, mais pour le moment, il semblerait que le bénéfice est réel vu que aucune erreur de sécurité mémoire n'a été remontée sur les drivers écrits en Rust.
avatar

7929

Je suis d'accord avec Uther, Rust a clairement toute son utilité pour ce genre de code.
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

7930

Et encore une fois pour être clair : il s'agissait seulement de permettre à des drivers écrits en Rust de s'interfacer au mieux avec l'API existante, pas de réécrire le code existant en Rust. Ça serait en effet plus risqué qu'utile de refaire complètement, un code plus qu’éprouvé.
avatar

7931

Suite de la saga :
As the Kernel Turns: Rust in Linux saga reaches the “Linus in all-caps” phaseArs TechnicaTorvalds: You can avoid Rust as a C maintainer, but you can’t interfere with it.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo