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
