• Allen Pais's avatar
    fs/coredump: Enable dynamic configuration of max file note size · 4bbf9c3b
    Allen Pais authored
    Introduce the capability to dynamically configure the maximum file
    note size for ELF core dumps via sysctl.
    
    Why is this being done?
    We have observed that during a crash when there are more than 65k mmaps
    in memory, the existing fixed limit on the size of the ELF notes section
    becomes a bottleneck. The notes section quickly reaches its capacity,
    leading to incomplete memory segment information in the resulting coredump.
    This truncation compromises the utility of the coredumps, as crucial
    information about the memory state at the time of the crash might be
    omitted.
    
    This enhancement removes the previous static limit of 4MB, allowing
    system administrators to adjust the size based on system-specific
    requirements or constraints.
    
    Eg:
    $ sysctl -a | grep core_file_note_size_limit
    kernel.core_file_note_size_limit = 4194304
    
    $ sysctl -n kernel.core_file_note_size_limit
    4194304
    
    $echo 519304 > /proc/sys/kernel/core_file_note_size_limit
    
    $sysctl -n kernel.core_file_note_size_limit
    519304
    
    Attempting to write beyond the ceiling value of 16MB
    $echo 17194304 > /proc/sys/kernel/core_file_note_size_limit
    bash: echo: write error: Invalid argument
    Signed-off-by: default avatarVijay Nag <nagvijay@microsoft.com>
    Signed-off-by: default avatarAllen Pais <apais@linux.microsoft.com>
    Link: https://lore.kernel.org/r/20240506193700.7884-1-apais@linux.microsoft.comSigned-off-by: default avatarKees Cook <keescook@chromium.org>
    4bbf9c3b
coredump.c 31.1 KB