]> git.ipfire.org Git - thirdparty/linux.git/commit
binfmt_elf: Dump smaller VMAs first in ELF cores
authorBrian Mak <makb@juniper.net>
Tue, 6 Aug 2024 18:16:02 +0000 (18:16 +0000)
committerKees Cook <kees@kernel.org>
Mon, 12 Aug 2024 18:23:25 +0000 (11:23 -0700)
commit7d442a33bfe817ab2a735f3d2e430e36305354ea
tree2cef8899948287a1e75caa6d614ddd9f5c3d0ad1
parentfb97d2eb542faf19a8725afbd75cbc2518903210
binfmt_elf: Dump smaller VMAs first in ELF cores

Large cores may be truncated in some scenarios, such as with daemons
with stop timeouts that are not large enough or lack of disk space. This
impacts debuggability with large core dumps since critical information
necessary to form a usable backtrace, such as stacks and shared library
information, are omitted.

We attempted to figure out which VMAs are needed to create a useful
backtrace, and it turned out to be a non-trivial problem. Instead, we
try simply sorting the VMAs by size, which has the intended effect.

By sorting VMAs by dump size and dumping in that order, we have a
simple, yet effective heuristic.

Signed-off-by: Brian Mak <makb@juniper.net>
Link: https://lore.kernel.org/r/036CD6AE-C560-4FC7-9B02-ADD08E380DC9@juniper.net
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Kees Cook <kees@kernel.org>
fs/coredump.c