2017-10-09 2:11 GMT+09:00 Ulf Magnusson <ulfalizer@xxxxxxxxx>: > 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 I applied 1-5. I left some comments on 5. -- Best Regards Masahiro Yamada -- 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