Do jádra Linux-next byl přidán kód pro vývoj ovladačů v jazyce Rust.

Do větve linux-next, na jejímž základě bude vytvořena verze jádra Linux 5.13, byl zahrnut počáteční soubor komponent pro vývoj ovladačů zařízení v jazyce Rust. Byla také zveřejněna dokumentace k používání Rustu v jádře Linux a příklad jádrového modulu s ovladačem symbolického zařízení napsaným v Rustu. Kód přidal Stephen Rothwell, udržovatel větve Linux-next. Obvykle zahrnuje Linux-next kód připravený k přijetí v dalším cyklu příjmu změn do jádra, ale zatím není jasné, zda bude podpora Rustu přijata Linusem Torvaldsem do Linuxu 5.13, protože kód neprošel širokým hodnocením od vývojářů.

Podpora vývoje ovladačů jádra Linux v jazyce Rust byla aktivně probírána v loňském roce, včetně účasti Linuse Torvaldse, který tuto možnost nevylučoval. Myšlenku také podpořil Greg Kroah-Hartman, odpovědný za podporu stabilní větve jádra Linux. Použití Rustu pro vývoj ovladačů umožní s minimálním úsilím vytvářet bezpečné a kvalitnější ovladače, zbavené problémů, jako je přístup do oblasti paměti po jejím uvolnění, dereferencování nulových ukazatelů a vybočení mimo meze bufferu.

Pro aktivaci podpory Rustu ve větvi linux-next byla do KConfig přidána volba CONFIG_RUST („Rust support“ v menu „General setup“), při aktivaci se kontroluje přítomnost kompilátoru rustc v systému a pokud je přítomen, umožňuje aktivaci dalších komponent spojených s Rustem (například v menu „Kernel hacking“ se objevuje sekce „Rust hacking“). Použití Rustu se považuje za volbu, která není ve výchozím nastavení aktivní a nevede k zahrnutí Rustu mezi povinné závislosti pro sestavení jádra.

Sestavení komponent jádra v Rustu je možné jak při použití GCC, tak při sestavování pomocí Clang. Pro využití Rustu v jádře je potřeba nainstalovat čerstvé noční verze kompilátoru rustc, nejméně z větve nightly-2021-02-20 (pokud to bude možné, slibují přidání podpory pro stabilní větve Rustu, ale zatím je to vázáno na některé experimentální funkce). Také je nutné mít v systému standardní knihovny Rustu dodávané v balíčku rust-src a generátor vazeb bindgen. Podpora je zatím omezena na platformy x86_64 a ARM64.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster