Linus Torvalds wystąpił przeciw parserom Kconfig, które nie wspierają tabulacji

Linus Torvalds odmówił przyjęcia do jądra zmiany, która zastępuje znak tabulacji spacją w separatorze parametru FTRACE_RECORD_RECURSION_SIZE w konfiguracji jądra Kconfig. Zmiana została zaproponowana przez dewelopera projektu Fedora z uwagą, że użycie tabulacji prowadzi do awarii parsowania konfiguracji. Zamiast proponowanej zmiany, Linus włączył do jądra swoją łatkę, która specjalnie dodaje znaki tabulacji do definicji ustawienia PAGE_SHIFT, określającego przesunięcie dla różnych rozmiarów stron pamięci.

Dodanie tabulacji w ustawieniach, bardziej znaczących niż FTRACE_RECORD_RECURSION_SIZE, jest uzasadnione tym, że w pliku z ustawieniami jądra dopuszczalne jest użycie zarówno spacji, jak i tabulacji, dlatego jeśli parser nie może poprawnie rozpoznać wiersza z tabulacjami — to problem parsera, który musi zostać rozwiązany w nim. Komenda „make defconfig” poprawnie akceptuje tabulacje, więc również zewnętrzne parsery powinny je obsługiwać.

Obecność w dostarczanym w jądrze Kconfig nie tylko spacji, ale i tabulacji, pozwoli zidentyfikować problematyczne parsery i zainspirować ich poprawę. Pomysł dostosowywania jądra do awaryjnych parserów jest uważany za szkodliwy, ponieważ nawet jeśli w referencyjnym Kconfig zawsze będą tylko spacje, zwykły użytkownik ma prawo używać tabulacji w ustawieniach na swoich systemach, a takie użycie może prowadzić do awarii w niepoprawionych zewnętrznych parserach.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster