diff options
| author | Kees Cook <kees@kernel.org> | 2025-02-19 11:53:16 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-03-13 13:02:01 +0100 |
| commit | 5481dee296f60d94f7b5317158a336f8d722d000 (patch) | |
| tree | e43db4343470d0826e77bd440257262651525def /Documentation/admin-guide | |
| parent | dea6a349bcaf243fff95dfd0428a26be6a0fb44e (diff) | |
| download | linux-5481dee296f60d94f7b5317158a336f8d722d000.tar.gz linux-5481dee296f60d94f7b5317158a336f8d722d000.tar.bz2 linux-5481dee296f60d94f7b5317158a336f8d722d000.zip | |
coredump: Only sort VMAs when core_sort_vma sysctl is set
[ Upstream commit 39ec9eaaa165d297d008d1fa385748430bd18e4d ]
The sorting of VMAs by size in commit 7d442a33bfe8 ("binfmt_elf: Dump
smaller VMAs first in ELF cores") breaks elfutils[1]. Instead, sort
based on the setting of the new sysctl, core_sort_vma, which defaults
to 0, no sorting.
Reported-by: Michael Stapelberg <michael@stapelberg.ch>
Closes: https://lore.kernel.org/all/20250218085407.61126-1-michael@stapelberg.de/ [1]
Fixes: 7d442a33bfe8 ("binfmt_elf: Dump smaller VMAs first in ELF cores")
Signed-off-by: Kees Cook <kees@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'Documentation/admin-guide')
| -rw-r--r-- | Documentation/admin-guide/sysctl/kernel.rst | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Documentation/admin-guide/sysctl/kernel.rst b/Documentation/admin-guide/sysctl/kernel.rst index f8bc1630eba0..fa21cdd610b2 100644 --- a/Documentation/admin-guide/sysctl/kernel.rst +++ b/Documentation/admin-guide/sysctl/kernel.rst @@ -212,6 +212,17 @@ pid>/``). This value defaults to 0. +core_sort_vma +============= + +The default coredump writes VMAs in address order. By setting +``core_sort_vma`` to 1, VMAs will be written from smallest size +to largest size. This is known to break at least elfutils, but +can be handy when dealing with very large (and truncated) +coredumps where the more useful debugging details are included +in the smaller VMAs. + + core_uses_pid ============= |
