Greg Kroah-Hartman, som ansvarar för underhållet av stabila och 'staging'-grenar av Linux-kärnan och är huvudmaintainer för 16 delsystem av kärnan, höll en presentation på konferensen Rust Week 2026, där han berättade hur språket Rust kan hjälpa till att förhindra uppkomsten av sårbarheter i kärnan som uppstår på grund av typiska programmeringsfel hos utvecklare som använder C, särskilt vid hantering av minne, låsning, felhantering och arbete med opålitliga data. En av de viktigaste fördelarna med Rust är möjligheten att upptäcka sådana fel redan under kompilering, snarare än vid granskning av koden av människor. Det ska dock påpekas att Rust inte betraktas som en universallösning för att lösa alla problem, och ingen planerar att skriva om kärnan i Rust: Gradvis förväntas Rust implementeras genom att den används för nya drivrutiner och delsystem.
Som exempel på fel i kärnan som skulle kunna undvikas med Rust nämndes ett fel i Bluetooth-delsystemet som hade förblivit oupptäckt i 15 år, samt ett problem i hypervisorn Xen. I det första fallet utförde utvecklaren en avpekning utan kontroll, och i det andra glömde hen att ta bort en låsning i felhanteringskoden.
Enligt Greg orsakas de flesta felen i kärnan av sådana småttigheter som över tid ansamlas och framträder som sårbarheter. I Rust förhindras många av dessa problem av kompilatorn; till exempel tillåter Rust-abstraktioner för låsning i kärnan åtkomst till interna pekare av strukturer endast efter att ha fångat den relevanta låsningen, som tas bort automatiskt. Utan att ha fångat låsningen kan åtkomst till pekare på Rust-strukturer inte ske.
Greg anser att Rusts möjligheter skulle ha förhindrat 60% av de fel som upptäckts i kärnan, och de kontroller som görs av kompilatorn skulle ha befriat underhållarna från att slösa tid på diskussioner med författarna om riktigheten i felhantering och motiveringen av låsningar på rätt ställe. Dessutom har införandet av Rust-stöd redan haft en positiv effekt på C-koden i kärnan tack vare förbättring av C-koden och gränssnitten, samt att vissa utvecklingsmetoder har lånats (till exempel har låsningar med begränsad räckvidd implementerats).
Med hjälp av typ-systemet, som säkerställer att angivna regler följs, och tillämpningen av kontinuerlig integration, som kontrollerar koden under kompilering, kan granskare av förändringar i Rust fokusera på att kontrollera logiken, istället för att spåra resursmanipulationer. Tillämpningen av Rust gör det också möjligt att uppmärksamma de data som kommer från hårdvara eller externa system. Detta uppnås genom en tydlig åtskillnad mellan betrodda och icke-betrodda data på typ-systemets nivå: utvecklaren behöver bara göra en analys vid övergången från ett icke-betrott till ett betrott tillstånd.
På sistone publicerar teamet som ansvarar för säkerheten i kärnan i genomsnitt cirka 13 sårbarhetsrapporter varje dag, vilket i jämförelse med tidigare trender för identifiering av sårbarheter uppfattas som något galet (som exempel publicerades 277 sårbarhetsrapporter i kärnan igår). Enligt Greg är användningen av Rust ett av de verkliga sätten att minska antalet fel i kärnan, orsakade av traditionella misstag i felhantering och resurshantering. Stödet för Rust i kärnan har redan gått bortom experimentet och erkändes som en standardfunktion i kärnan i slutet av förra året.

Källa: opennet.ru
