Den tiende version af patcher til Linux-kernen med Rust-sprog understøttelse

Miguel Ojeda, forfatteren af Rust-for-Linux projektet, har foreslået for Linux-kernens udviklere at overveje version v10 af komponenterne til udvikling af enhedsdrivere i Rust-sprog. Dette er den ellevte udgave af patchene med hensyn til den første version, der blev offentliggjort uden versionsnummer. Inklusionen af Rust- understøttelse er godkendt af Linus Torvalds til at blive en del af Linux-kernen 6.1, medmindre der opstår uventede problemer. Udviklingen finansieres af Google og organisationen ISRG (Internet Security Research Group), som er stifter af Let’s Encrypt og bidrager til fremme af HTTPS og udvikling af teknologier til at forbedre internettets sikkerhed.

Som i det tidligere patchudgave er version v10 reduceret til det mest nødvendige minimum, som er tilstrækkeligt til at kompilere et simpelt kernemodul skrevet i Rust-sprog. Forskellene fra den foregående version er små rettelser, bytte af sizeof med ARRAY_SIZE i kallsyms.c og tilpasning af patchene til kernen v6.0-rc7. Det forventes, at den minimale patch, hvis størrelse er reduceret fra 40.000 til 13.000 kode linjer, vil lette accepten af Rust-understøttelse i kernen. Efter at have sikret den minimale understøttelse, er der planer om gradvist at udvide den eksisterende funktionalitet ved at flytte andre ændringer fra Rust-for-Linux-grenen.

De foreslåede ændringer giver mulighed for at bruge Rust som det andet sprog til udvikling af drivere og kernemoduler. Rust-understøttelse præsenteres som en valgmulighed, der ikke er aktiv som standard og ikke får Rust til at blive en del af de obligatoriske byggemæssige afhængigheder for kernen. Brug af Rust til udvikling af drivere vil give mulighed for at skabe sikre og bedre kvalitetsdrivere med minimal indsats, fri for problemer som adgang til hukommelsesområder efter frigivelse, dereferering af nul-pegepunkter og buffer-overløb.

Sikker hukommelseshåndtering sikres i Rust under kompileringen gennem referencekontrol, overvågning af ejerskab af objekter og livscyklus (scope) af objekter, samt evaluering af korrekt hukommelsestilgang under kodeudførelse. Rust tilbyder også midler til beskyttelse mod heltalsoverskridelser, kræver obligatorisk initialisering af variabelværdier før brug, håndterer fejl bedre i standardbiblioteket, anvender konceptet med immutability (uændrede) referencer og variabler som standard, og tilbyder stærk statisk typekontrol for at minimere logiske fejl.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster