From 0351920ac7c5fb13418d24d13c3b99d87faf8d19 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 19 Aug 2026 05:27:00 +0900 Subject: [PATCH] coredump: do not coredump in setting up logger If log_parse_environment() or log_set_target_and_open() triggers assertion or so, then we may enter endless loop. Let's disable coredump earlier. --- src/coredump/coredump.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c index 649756d332..6f7802efe4 100644 --- a/src/coredump/coredump.c +++ b/src/coredump/coredump.c @@ -25,14 +25,14 @@ static int run(int argc, char *argv[]) { if (streq_ptr(argv[1], "--backtrace")) return coredump_backtrace(argc, argv); + /* Make sure we never enter a loop. */ + (void) set_dumpable(SUID_DUMP_DISABLE); + /* First, log to a safe place, since we don't know what crashed and it might be journald which we'd * rather not log to then. */ log_parse_environment(); log_set_target_and_open(LOG_TARGET_KMSG); - /* Make sure we never enter a loop. */ - (void) set_dumpable(SUID_DUMP_DISABLE); - r = sd_listen_fds(false); if (r < 0) return log_error_errno(r, "Failed to determine the number of file descriptors: %m");