Ilustracja przedstawiająca przestarzałą funkcję strncpy jako złamany element w architekturze jądra Linux, z symbolem X nad nią.
Ilustracja przedstawiająca przestarzałą funkcję strncpy jako złamany element w architekturze jądra Linux, z symbolem X nad nią.

Usunięcie problematycznej funkcji daje trochę wspólnego kontekstu koledze, który śledzi rozwój jądra Linux.

Koniec strncpy w jądrze Linux Przebieg historii i kluczowe fakty

Jądro systemu Linux w wersji 7.2 wprowadzi istotną zmianę techniczną – całkowite usunięcie funkcji strncpy(). Ta funkcja, używana od lat w programowaniu niskopoziomowym, była źródłem licznych błędów ze względu na nieintuicyjne działanie. W szczególności nie gwarantowała zakończenia łańcucha znaków znakiem NUL oraz niepotrzebnie wypełniała bufor zerami, co wpływało na wydajność i bezpieczeństwo.

Zespół jądra Linux pracował nad wycofaniem strncpy przez ponad sześć lat, co wymagało ponad 360 zmian w kodzie. Kluczową rolę odegrał Justin Stitt, który stworzył 211 z tych commitów. Decyzja o usunięciu funkcji została podjęta po długiej analizie jej wpływu na stabilność systemu.

Zmiana ma wejść do dystrybucji przed fazą release candidate, zaplanowaną na 28 czerwca 2026 roku. Oznacza to, że deweloperzy pracujący z jądrem Linux będą musieli przesiąść się na bezpieczniejsze alternatywy, takie jak strscpy(). Cała sytuacja pokazuje, jak otwarty model rozwoju pozwala na systematyczne usuwanie przestarzałych rozwiązań.

Fakty

  • Linux 7.2 całkowicie usuwa funkcję strncpy z jądra systemu.
  • Prace nad usunięciem trwały ponad sześć lat i obejmowały ponad 360 commitów.
  • Funkcja strncpy była źródłem błędów przez brak gwarancji kończenia łańcucha znaków znakiem NUL.
  • Justin Stitt stworzył 211 commitów związanych z migracją z strncpy.
  • Zmiana ma wejść przed fazą release candidate 28 czerwca 2026 roku.

Wizualne wyjaśnienie wiadomości od Canto. Narzędzia AI mogą pomagać w produkcji. Polityka redakcyjna