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
Maj 19

Apple udostępni użytkownikom w UE możliwość zmiany domyślnego asystenta głosowego

Apple pracuje nad wprowadzeniem możliwości ustawienia alternatywnego asystenta głosowego zamiast Siri — wynika z informacji AppleInsider. Zmiany mają objąć użytkowników w Unii Europejskiej i być odpowiedzią na nowe regulacje, takie jak Digital Markets Act.
0
Sie 4

Epic Games ponownie wygrywa z Google w sądzie – Android czeka przełomowa zmiana

Sąd Apelacyjny Dziewiątego Okręgu w USA podtrzymał jednogłośny werdykt ławy przysięgłych z 25 roku w sprawie Epic Games przeciwko Google, uznając Google Play Store i system płatności Google za nielegalne monopole. Decyzja przywraca działanie stałego zakazu, który zmusi Google do otwarcia Androida na konkurencyjne sklepy z aplikacjami,
0
Cze 26

Anthropic uruchamia możliwość tworzenia aplikacji przez chat Claude

Anthropic uruchomiło nową funkcję w Claude, która pozwala budować i udostępniać aplikacje oparte na AI bezpośrednio w ramach interfejsu chat. Funkcjonalność jest dostępna w wersji beta dla wszystkich planów — Free, Pro i Max.
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