Re: [PATCH 0/6] kconfig: Fix memory leaks during parsing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux