s v nadchádzajúcom vydaní jadra Linuxu 6.1 je zlúčená počiatočná infraštruktúra Rust, aby bolo možné použiť programovací jazyk Rust pre budúce ovládače jadra a ďalší kód jadra. Ale tento stav v Linuxe 6.1 je úplný základ a zatiaľ nie je praktický, zatiaľ čo teraz boli odoslané sekundárne záplaty”Rust for Linux”, ktoré umožňujú ďalší vývoj jadra s Rustom.

Miguel Ojeda, ktorý viedol úsilie Rust for Linux, vo štvrtok rozoslal sadu 28 záplat, ktoré do jadra poskytujú ďalšie jadro Rust. Ojeda vysvetlil v sérii opráv túto najnovšiu sériu veľkých opráv:

Táto séria opráv je prvou sériou zmien v upstream zvyšku podpory Rust.

V tomto prípade sú všetky zavedené zariadenia súčasťou „jadra hrdze“. Neinteragujú so stranou C novými hlavnými spôsobmi (nepoužívajú sa žiadne nové typy C; iba `strlen`, `memchr`, dodatočné chybové kódy a niektoré ďalšie formátovacie reťazce `printk`).

Po tejto sérii sú `str.rs` a `print.rs` synchronizované s downstream a všetky zostávajúce proc makrá boli pridané. `error.rs` je tiež pomerne kompletný, aj keď niekoľko ďalších funkcií `pub(crate)` príde neskôr (aby sa predišlo zanechaniu mŕtveho kódu medzi sériami).

Všimnite si, že sa používa niekoľko dočasných atribútov `#[allow(dead_code)]`, aby ste mali trochu viac slobody pri organizovaní záplat a zároveň aby ​​boli všetky zostaviteľné bez varovaní/chýb, ale na konci zo série nezostala žiadna (z dočasných).

Prakticky všetok kód bol v linux-next už mesiace a bol súčasťou série opráv Rust pred orezaním (t.j. až do verzie 8).

Každá oprava bola testovaná na `defconfig` s povoleným Rust s `CLIPPY=1` na cieľoch `all`, `rustfmtcheck`, `rustdoc` a `rusttest`.

Vzhľadom na to, že tento kód je už nejaký čas v linux-next a už sa dočkal nejakej recenzie ako súčasti pôvodnej série opráv Rust for Linux, je celkom možné, že toto dielo bude pripravené včas na Okno zlučovania Linuxu 6.2 budúci mesiac. Uvidíme. V každom prípade vlak Rust for Linux pokračuje ďalej.
Keď bude všetka táto infraštruktúra Rust zavedená, uvidíme, ako dlho bude trvať, kým významnejšie ovládače v reálnom svete začnú prechádzať na kód Rust, či už kvôli novej hardvérovej podpore alebo prepisovaniu existujúceho kódu ovládača C v Ruste. Očakáva sa, že jedným z prvých veľkých používateľov Rustu v jadre Linuxu bude ovládač DRM pre grafiku Apple M1/M2.

Samostatne včera Národná bezpečnostná agentúra USA zverejnila pokyny na ochranu pred problémami s bezpečnosťou pamäte. Správa NSA navrhuje používať programovací jazyk Rust alebo iné pamäťovo bezpečné jazyky ako Swift, Java, Go, Ruby a C#.

Categories: IT Info