[Buildroot] [PATCH] busybox: disable CONFIG_FEATURE_CLEAN_UP in default configs
Peter Korsgaard
peter at korsgaard.com
Wed Jul 19 13:31:21 UTC 2017
>>>>> "Peter" == Peter Korsgaard <peter at korsgaard.com> writes:
> FEATURE_CLEAN_UP is a configuration feature to get busybox to explicitly
> call free() on dynamic allocated memory just before exiting so memory leak
> detectors like valgrind don't get confused. Upstream explicitly recommends
> to NOT enable this option:
> config FEATURE_CLEAN_UP
> bool "Clean up all memory before exiting (usually not needed)"
> default n
> help
> As a size optimization, busybox normally exits without explicitly
> freeing dynamically allocated memory or closing files. This saves
> space since the OS will clean up for us, but it can confuse debuggers
> like valgrind, which report tons of memory and resource leaks.
> Don't enable this unless you have a really good reason to clean
> things up manually.
> Having this option enabled adds a bit of bloat, but more significantly these
> cleanup code paths don't get tested very often so some times get out of sync
> with the allocation code which can lead to crashes (or security issues from
> double frees), so it is safer to disable the option.
> For people wanting to debug memory leak issues with busybox, the option can
> still be enabled with a configuration fragment (or a custom config).
> The size difference isn't huge (br-arm-full-static):
> -rwxr-xr-x 1 peko peko 886K Jul 5 10:56 output-busybox1/target/bin/busybox
> -rwxr-xr-x 1 peko peko 882K Jul 5 10:53 output-busybox2/target/bin/busybox
> Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
Committed to 2017.02.x and 2017.05.x, thanks.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list