Linus Torvalds refused to accept a change to the kernel that would replace the tab character with a space in the FTRACE_RECORD_RECURSION_SIZE parameter separator in the Kconfig kernel configuration. The change was proposed by a developer from the Fedora project, noting that the use of tabs causes the configuration parser to fail. Instead of the proposed change, Linus included his patch in the kernel, specifically adding tab characters to the PAGE_SHIFT setting definition, which specifies the offset for different memory page sizes.
The addition of tabs to settings that are more significant than FTRACE_RECORD_RECURSION_SIZE is justified because both spaces and tabs are allowed in the kernel configuration file. Therefore, if the parser cannot correctly parse a tabbed line, that is a parser issue that needs to be addressed. The command 'make defconfig' correctly accepts tabs, and external parsers should also handle them.
The presence of both spaces and tabs in the supplied Kconfig allows for the identification of problematic parsers and encourages their correction. The idea of adapting the kernel for faulty parsers is regarded as flawed, since even if only spaces are used in the reference Kconfig, average users are free to use tabs in their settings on their systems, which may lead to failures in uncorrected third-party parsers.
Source: opennet.ru
