Wprowadzenie Rust do jądra Linux: Oświadczenie Griega Kroaha-Hartmana i Keisa Cooka

Wprowadzenie Rust do jądra Linux: Oświadczenie Griega Kroaha-Hartmana i Keisa Cooka

Greg Kroah-Hartman, odpowiedzialny za wsparcie stabilnej gałęzi jądra Linux, wyraził poparcie dla rozwoju nowych komponentów jądra w języku Rust. Jako osoba, przez którą przez ostatnie 15 lat przechodziła cała dokumentacja błędów i podatności w jądrze Linux, twierdzi, że większość błędów w jądrze wynika z niewłaściwie obsługiwanych przypadków w języku C (tzw. corner case), które zostałyby całkowicie wykluczone w kodzie napisanym w języku Rust.

Zastosowanie Rust pozwoliłoby na pozostawienie w przeszłości takich problemów, jak dostęp do pamięci po jej zwolnieniu, przepełnienie bufora (częściowo), błędne zwalnianie zasobów podczas obsługi błędów oraz zapomniane kontrole kodów błędów, co pozwoliłoby maintainerom skupić się na rzeczywistych błędach, takich jak stany wyścigu i problemy z logiką, a nie rozpraszać uwagę przy przeglądach kodu na drobnostki.

Już istniejący, stary kod w języku C nie zniknie, natomiast w przypadku nowego kodu i nowych sterowników, wprowadzenie Rust pozwoli znacznie poprawić jakość. Wprowadzenie Rust umożliwi także lepszą strukturalizację wewnętrznych interfejsów API jądra, co praktycznie wykluczy błędy wynikające z nieprawidłowego używania API – w jądrze zgromadziło się zbyt wiele skomplikowanych i zawiłych interfejsów, co tworzy dużą presję na maintainerów, którzy muszą sprawdzać, czy te API są używane poprawnie. W trakcie rozwoju powiązań Rust, maintainerzy będą mieli możliwość przemyślenia i uporządkowania API, co przyniesie korzyści wszystkim, w tym użytkownikom języka C.

Greg nie uważa Rust za „srebrną kulę”, która rozwiąże wszystkie problemy w jądrze, ale jest przekonany, że ten język pomoże w wielu sytuacjach. Wsparcie dla Rust zaspokoi także potrzeby programistów sterowników, którzy liczą na narzędzie pozwalające na pisanie kodu dla ich sprzętu, eliminując wiele rodzajów błędów. Co do łączenia różnych języków, Greg nie widzi w tym większego problemu, jego zdaniem, w przeszłości deweloperzy jądra radzili sobie z bardziej skomplikowanymi zadaniami, więc nie ma powodu, by odrzucać wprowadzenie nowych, dobrych pomysłów, które mogą pomóc zapewnić sukces projektu na następne 20+ lat.

Do dyskusji dołączył również Kees Cook, były główny administrator systemów kernel.org oraz lider zespołu bezpieczeństwa Ubuntu Security Team. Kees doprecyzował, że nie chodzi o przepisywanie istniejącego kodu w jądrze, lecz o umożliwienie korzystania z Rust do tworzenia nowych sterowników i podsystemów. Zastosowanie Rust w nowym kodzie pozwoli nie tylko na zmniejszenie liczby błędów związanych z pamięcią, ale także na skrócenie czasu rozwoju. Prędkość rozwoju wzrasta dzięki zmniejszeniu nakładu pracy na debugowanie i dzięki ścisłym gwarancjom w języku, które pozwalają na wykrywanie błędów na wczesnym etapie pisania kodu, jeszcze przed rozpoczęciem testowania produktu.

Skuteczność taktyki wykorzystania Rust do poprawy jakości nowego kodu została już udowodniona przez Google na platformie Android. Pokazano, że głównym źródłem problemów z bezpieczeństwem jest nowy kod, a poprawie jego jakości należy poświęcać szczególną uwagę. W przypadku starego kodu zaobserwowano wykładniczą zależność bezpieczeństwa od czasu (na przykład, 5-letni kod w średniej posiada 3,4 razy mniejszą gęstość podatności niż nowy kod).

Dodatkowo: Lider projektu Asahi Linux rezygnuje z pracy nad projektem po problemach z promowaniem Rust w jądrze Linux.

Avatar
Mar 24, 2025

Tesla planuje wyprodukować co najmniej 5000 robotów Optimus do końca 2025 roku

Elon Musk ogłosił ambitne plany dotyczące produkcji humanoidalnych robotów Optimus. Podczas spotkania z pracownikami, transmitowanego na YouTube Tesli, zapowiedział, że firma zakończy pierwszy cykl produkcyjny w 2025 roku i wyprodukuje co najmniej 5000 jednostek.
0
Maj 3, 2023

IBM już wstrzymał zatrudnianie na stanowiska, które mogą zostać zastąpione przez sztuczną inteligencję

Chodzi o około 7 800 miejsc pracy.
0
Kwi 3, 2025

Sam Altman: Opanowanie narzędzi AI to nowe „learn to code”. Zapotrzebowanie na programistów może się zmniejszyć

Sam Altman, prezes OpenAI, uważa, że umiejętność korzystania z narzędzi opartych na sztucznej inteligencji stała się nowym odpowiednikiem popularnego wcześniej hasła „naucz się kodować” („learn to code”).
0

Ta strona używa plików cookie, aby zapewnić Ci lepsze wrażenia podczas przeglądania.

Dowiedz się więcej o tym, jak używamy plików cookie i jak zmienić preferencje dotyczące plików cookie w naszej Polityka plików cookie.

Zmień ustawienia
Zapisz Akceptuj wszystkie cookies