Nasza strona używa cookies. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

Linus Torvalds zapowiada historyczną zmianę w kernelu Linuksa

Linus Torvalds publikuje pierwsze wydanie RC dla wersji 5.10 i zapowiada usunięcie funkcji, która była w kernelu od początku jego istnienia.
Linus Torvalds zapowiada historyczną zmianę w kernelu Linuksa

Linus Torvalds opublikował właśnie pierwsze wydanie RC dla wersji 5.10 kernela Linuksa i od razu pochwalił się historyczną zmianą, którą nowy produkt wprowadzi. Będzie nią usunięcie pewnej jednostki adresującej, która jest w jądrze Linuksa od 1991 roku, czyli od początku jego istnienia. Chodzi tutaj o funkcję set_fs(), która pozwala kernelowi na nadpisanie przestrzeni adresowych, co przydawało się w procesorach Intela 286 oraz 386, czyli dawno, dawno temu. Jednostka adresująca została jednak uznana przez twórców niektórych układów scalonych za zbędną i jest już właściwie bardzo rzadko używana. 


Historyczna zmiana

Sam Linus tłumaczy, że set_fs() kontroluje, czy kopia userspace ma pojawić się w przestrzeni użytkownika, czy przestrzeni kernela. Jest to szczególnie istotne w kontekście paskudnego błędu, który sprawiał, że jednostka adresująca mogła zostać wykorzystana do nadpisania losowych lokalizacji pamięci kernela oraz do uzyskania pewnych przywilejów. Bug został jednak załatany w 2010 roku.

Od tamtego czasu twórcy procesorów odcięli się od powyższego sposobu nadpisywania przestrzeni adresowych. Torvalds pisze, że funkcja ta została już odrzucona, jeżeli chodzi o architektury x86, powerpc, s390 oraz RISC-V. set_fs() jest jednak przeżytkiem oryginalnej architektury kernela, dlatego udało jej się aż tyle przetrwać. 

Torvalds dodaje również, że sama zmiana nie jest szczególnie duża, ale ma historyczny charakter — od wersji 5.10 kernel nie będzie już polegał na modelu set_fs(), który był w nim od początku jego istnienia. 


Więcej o 5.10

Linus zdradza nam też swoje ogólne myśli na temat nadchodzącej wersji jądra Linuksa. Mówi on, że 5.10 będzie większym wydaniem, niż zakładał. Pomimo że merge window jest mniejsze od tego w 5.8, to nie jest ono dużo mniejsze — a 5.8 było według Linusa jednym z największych wydań w historii jądra Linuksa. Wersja 5.10 zawiera natomiast prawie 14 000 commitów od około 1700 kontrybutorów. 

Jeżeli chodzi o większe zmiany, które dostaniemy wraz z wersją 5.10, to mamy tutaj zakończenie wsparcia dla procesorów PowerPC 601, czy wsparcie dla Orin SOC od NVIDII, który ma być używany w samochodach autonomicznych oraz przez roboty. Co więcej, w 5.10 dostaniemy lepsze wsparcie dla sterowników graficznych w procesorze Broadcom, którego używa się w Raspberry Pi 4, oraz ulepszoną ochronę Spectre dla procesorów typu Arm, no i inne standardowe ulepszenia dotyczące układów scalonych.

Co ciekawe, 5.10 ma rozwiązać problem roku 2038, o czym możecie przeczytać tutaj


Podsumowanie

Linus Torvalds twierdzi, że praca nad wersją 5.10 idzie gładko. Na horyzoncie nie ma żadnych ciężkich rzeczy do rozwiązania, a merge window nie spowodowało żadnych szczególnie złożonych problemów. 

Jeżeli chodzi natomiast o usunięcie set_fs(), to pomimo że Linus nie uważa tego za dużą zmianę, to jednak jest to w jakiś sposób istotne dla całego kernela, jeżeli postanowił wyrzucić to na pierwszy plan już przy okazji wydania pierwszego RC dla nowej wersji.

Rozpocznij dyskusję

Lubisz dzielić się wiedzą i chcesz zostać autorem?

Podziel się wiedzą z 160 tysiącami naszych czytelników

Dowiedz się więcej