Continue reworking the coredump code so it's easier to follow and modify in the future. * Each method is moved into a separate helper. * The cleanup code is simplified and unified. * Entangle the dependency between the pipe coredump rate limiting and the common exit path. It's likely that there'll be more. Signed-off-by: Christian Brauner <brauner@xxxxxxxxxx> --- Christian Brauner (24): coredump: rename format_corename() coredump: make coredump_parse() return bool coredump: fix socket path validation coredump: validate that path doesn't exceed UNIX_PATH_MAX fs: move name_contains_dotdot() to header coredump: don't allow ".." in coredump socket path coredump: validate socket path in coredump_parse() selftests/coredump: make sure invalid paths are rejected coredump: rename do_coredump() to vfs_coredump() coredump: split file coredumping into coredump_file() coredump: prepare to simplify exit paths coredump: move core_pipe_count to global variable coredump: split pipe coredumping into coredump_pipe() coredump: move pipe specific file check into coredump_pipe() coredump: use a single helper for the socket coredump: add coredump_write() coredump: auto cleanup argv coredump: directly return cred: add auto cleanup method coredump: auto cleanup prepare_creds() coredump: add coredump_cleanup() coredump: order auto cleanup variables at the top coredump: avoid pointless variable coredump: add coredump_skip() helper Documentation/security/credentials.rst | 2 +- .../translations/zh_CN/security/credentials.rst | 2 +- drivers/base/firmware_loader/main.c | 31 +- fs/coredump.c | 554 ++++++++++++--------- include/linux/coredump.h | 4 +- include/linux/cred.h | 2 + include/linux/fs.h | 16 + kernel/signal.c | 2 +- tools/testing/selftests/coredump/stackdump_test.c | 32 +- 9 files changed, 366 insertions(+), 279 deletions(-) --- base-commit: e04f97c8be29523bae2576fceee84a4b030406fb change-id: 20250612-work-coredump-massage-e2b6fd6c0ab3