Linux 6.10 zawiera ulepszenia gier, wsparcie i własny niebieski ekran śmierci

Tux, maskotka jądra Linuksa

Nowa wersja Zostało wydane jądro Linuksa 6.10 kilka dni temu i podczas premiery zaprezentowano kilka całkiem interesujących rozwiązań, takich jak Integracja sterownika ntsync z prymitywami synchronizacji Windows NT i dodanie komponentów DRM Panic, które działają podobnie do „niebieskiego ekranu śmierci”.

Zostało przerwane obsługa starszych procesorów Alphas, możliwość weryfikacji integralności w systemach plików opartych na FUSE, Ograniczanie dostępu do ioctl za pomocą mechanizmu Landlockoraz nowy podsystem, między innymi do profilowania operacji alokacji pamięci.

Liczbowo ta wersja zawiera 14,564 1,989 poprawek naniesionych przez 41 programistów, a łatka ma rozmiar 12,509 MB i dotyczy 547,663 312,464 plików. Dodano 15,680 2,106 linii kodu, a 54 XNUMX usunięto. Dla porównania, poprzednia wersja zawierała XNUMX XNUMX poprawek od XNUMX programistów i łatkę o rozmiarze XNUMX MB.

Co nowego w Linuksie 6.10?

Wśród głównych nowych funkcji wprowadzonych przez Linuksa 6.10, nowa operacja fcntl, F_DUPFD_QUERY, co pozwala proces identyfikuje, czy dwa różne deskryptory plików wskazują na ten sam plik, oferując alternatywę dla kcmp() bez ujawniania niepotrzebnych informacji i działając nawet wtedy, gdy funkcja kcmp() jest wyłączona.

La sprawdzenie integralności w FUSE to kolejna nowa funkcja, dzięki której FUSE może teraz korzystać z mechanizmu fs-verity w celu sprawdzenia integralności i autentyczności plików. Dodano także A nowy protokół oparty na netlinku, co ułatwia zarządzanie serwerem NFS w jądrze. W przestrzeni użytkownika opracowano narzędzie nfsdctl do pracy z tym protokołem.

Oprócz tego A początkowa wersja sterownika ntsync, który wprowadza urządzenie znakowe /dev/ntsync i zestaw prymitywów synchronizacji używanych w jądrze systemu Windows NT. Ten postęp może znacząco poprawić wydajność gier Windows uruchamianych poprzez Wine, poprzez wyeliminowanie narzutu RPC w przestrzeni użytkownika.

Zostało wprowadzone nowy podsystem do profilowania operacji alokacji pamięci w jądrze Linuksa. Podsystem ten pomaga wykrywać wycieki pamięci i optymalizować jej wykorzystanie, przy niskim narzucie, dzięki czemu można go używać w systemach produkcyjnych, a nie tylko w kompilacjach do debugowania.

Został opracowany wstępna implementacja awaryjnego sterownika jądra, zadzwonił Panika DRM. Ten sterownik wykorzystuje podsystem DRM do wyświetlania raportu wizualnego w kolorze podobnym do „niebieskiego ekranu śmierci”. W przyszłych wersjach dodana zostanie możliwość wyświetlania logo i kodu QR w sytuacji awaryjnej.

Ponadto Zaproponowano opcję init_mlocked_on_free W przypadku konfiguracji na etapie uruchamiania ta opcja gwarantuje, że pamięć chroniona przez mlock() zostanie wyczyszczona, jeśli zostanie zwolniona bez odblokowania, co zapobiega pozostawaniu kluczy kryptograficznych w pamięci po nagłym zakończeniu działania aplikacji.

z Inne zmiany i ulepszenia, które zostały wprowadzone w tej wersji:

  • Wsparcie dla mechanizmu Shadow Stack w podarchitekturze x32, który blokuje wiele exploitów wykorzystując możliwości sprzętowe procesorów Intel do zabezpieczenia przed nadpisywaniem adresu zwrotnego w przypadku przepełnienia bufora.
  • Wywołanie systemowe mseal zostało wprowadzone, aby umożliwić procesom blokowanie zmian w niektórych częściach ich przestrzeni adresowej.
  • Rust jest w dalszym ciągu integrowany jako drugi język do opracowywania sterowników i modułów jądra. Chociaż obsługa Rusta nie jest domyślnie włączona, Rust w wersji 1.78 pozwala na użycie standardowej biblioteki alloc.
  • opcja modułu dm-crypt umożliwiająca korzystanie z kolejek roboczych o wysokim priorytecie, poprawiająca wydajność na serwerach o wysokiej wydajności.
  • Optymalizacje w Btrfs: obsługa redukcji nieustalonych map zasięgu, przydatna do zmniejszania zużycia pamięci w systemach z małą ilością pamięci RAM.
  • Moduł Landlock LSM: Moduł ten, który umożliwia ograniczenie interakcji niektórych procesów ze środowiskiem zewnętrznym, zawiera możliwość nakładania ograniczeń na dostęp do wywołań ioctl().
  • Ext4: Dodano ioctl FS_IOC_GETFSSYSFSPATH w celu określenia lokalizacji zamontowanego systemu plików w hierarchii /sys/fs.
  • Bcachefs został przygotowany do uruchomienia fsck bez konieczności odmontowywania partycji, co poprawia jego niezawodność.
  • Do procesora graficznego Mali 10. generacji dołączono sterownik Panthor, który wykorzystuje technologię CSF w celu zmniejszenia obciążenia procesora i usprawnienia pracy procesora graficznego.
  • Do sterownika i915 dodano identyfikatory Intel Arc, PCI dla nowych, dyskretnych kart graficznych Intel Arc.
  • Sterownik Xe DRM: Trwają prace nad sterownikiem Xe DRM dla procesorów graficznych opartych na architekturze Intel Xe, z dodaną obsługą procesorów Arrow Lake H i początkową obsługą mechanizmu SR-IOV.
  • Sterownik AMDGPU obsługuje teraz SMU 14.0 i nowe procesory graficzne AMD w systemach z architekturą RISC-V.

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w Link. Nowa wersja jądra jest już dostępna w większości oficjalnych kanałów dystrybucji, a także w kernel.org.