Hello, This patchset plugs all memory leaks that occur in the parser (zconf.y) while parsing the x86 Kconfigs (and likely the other ARCHes too). I noticed that Kconfig is pretty leaky while working on the fix for 'm' before MODULES (http://www.spinics.net/lists/linux-kbuild/msg15606.html). The biggest culprit is all symbol names being leaked outside of expressions: 316 KB leaked. 'source' filenames being leaked adds another 41 KB. The other leaks are minor (< 1 KB each). The fixes can be applied independently. This is mostly just to get a clean slate with Valgrind, but also cleans up the code a bit as a side effect. Any performance difference (plus or minus) seems to be in the noise. Tested with the Kconfiglib test suite, which indirectly verifies that Kconfig still generates the same .config for alldefconfig, allnoconfig, allyesconfig, and all defconfigs, for all architectures. I also tested that menuconfig gets the right main menu text with and without a 'mainmenu' statement. As a reminder, the parsers can be rebuilt like this: $ make REGENERATE_PARSERS=1 conf Here's an easy way to run Valgrind on menuconfig (nothing seems to look at KERNELVERSION, so just set it to avoid a warning): $ ARCH=x86 SRCARCH=x86 KERNELVERSION=4.14.0-rc2 valgrind --leak-check=full scripts/kconfig/mconf Kconfig Cheers, Ulf Ulf Magnusson (6): kconfig: Don't leak symbol names during parsing kconfig: Don't leak 'source' filenames during parsing kconfig: Don't leak 'option' arguments during parsing Kconfig: Don't leak main menus during parsing kconfig: Don't leak help strings during parsing kconfig: Regenerate parser scripts/kconfig/symbol.c | 5 + scripts/kconfig/zconf.tab.c_shipped | 562 +++++++++++++++++++----------------- scripts/kconfig/zconf.y | 77 +++-- 3 files changed, 349 insertions(+), 295 deletions(-) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html