]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
coredump: Use error log level in coredump_send_to_container()
authorDaan De Meyer <daan@amutable.com>
Tue, 17 Feb 2026 14:38:01 +0000 (15:38 +0100)
committerDaan De Meyer <daan@amutable.com>
Tue, 17 Feb 2026 15:44:35 +0000 (16:44 +0100)
src/coredump/coredump-send.c

index 12c781d05a7a2d9a16a0c2db01f0b05b160d9795..0174be69a405604af8bdb4c0e081844d7fbfdffb 100644 (file)
@@ -241,7 +241,7 @@ int coredump_send_to_container(CoredumpContext *context) {
         _cleanup_(pidref_done) PidRef leader_pid = PIDREF_NULL;
         r = namespace_get_leader(&context->pidref, NAMESPACE_PID, &leader_pid);
         if (r < 0)
-                return log_debug_errno(r, "Failed to get namespace leader: %m");
+                return log_error_errno(r, "Failed to get namespace leader: %m");
 
         r = can_forward_coredump(&context->pidref, &leader_pid);
         if (r <= 0)
@@ -258,33 +258,33 @@ int coredump_send_to_container(CoredumpContext *context) {
 
         r = RET_NERRNO(socketpair(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, pair));
         if (r < 0)
-                return log_debug_errno(r, "Failed to create socket pair: %m");
+                return log_error_errno(r, "Failed to create socket pair: %m");
 
         r = setsockopt_int(pair[1], SOL_SOCKET, SO_PASSCRED, true);
         if (r < 0)
-                return log_debug_errno(r, "Failed to set SO_PASSCRED: %m");
+                return log_error_errno(r, "Failed to set SO_PASSCRED: %m");
 
         r = pidref_namespace_open(&leader_pid, &pidnsfd, &mntnsfd, &netnsfd, &usernsfd, &rootfd);
         if (r < 0)
-                return log_debug_errno(r, "Failed to open namespaces of PID " PID_FMT ": %m", leader_pid.pid);
+                return log_error_errno(r, "Failed to open namespaces of PID " PID_FMT ": %m", leader_pid.pid);
 
         r = namespace_fork("(sd-coredumpns)", "(sd-coredump)",
                            FORK_RESET_SIGNALS|FORK_DEATHSIG_SIGTERM,
                            pidnsfd, mntnsfd, netnsfd, usernsfd, rootfd, &child);
         if (r < 0)
-                return log_debug_errno(r, "Failed to fork into namespaces of PID " PID_FMT ": %m", leader_pid.pid);
+                return log_error_errno(r, "Failed to fork into namespaces of PID " PID_FMT ": %m", leader_pid.pid);
         if (r == 0) {
                 pair[0] = safe_close(pair[0]);
 
                 r = access_nofollow("/run/systemd/coredump", W_OK);
                 if (r < 0) {
-                        log_debug_errno(r, "Cannot find coredump socket, exiting: %m");
+                        log_error_errno(r, "Cannot find coredump socket, exiting: %m");
                         _exit(EXIT_FAILURE);
                 }
 
                 r = receive_ucred(pair[1], &ucred);
                 if (r < 0) {
-                        log_debug_errno(r, "Failed to receive ucred and fd: %m");
+                        log_error_errno(r, "Failed to receive ucred and fd: %m");
                         _exit(EXIT_FAILURE);
                 }
 
@@ -309,7 +309,7 @@ int coredump_send_to_container(CoredumpContext *context) {
 
                 r = coredump_send(context);
                 if (r < 0) {
-                        log_debug_errno(r, "Failed to send iovec to coredump socket: %m");
+                        log_error_errno(r, "Failed to send iovec to coredump socket: %m");
                         _exit(EXIT_FAILURE);
                 }
 
@@ -324,13 +324,13 @@ int coredump_send_to_container(CoredumpContext *context) {
          * container. The kernel will perform the translation for us. */
         r = send_ucred(pair[0], &ucred);
         if (r < 0)
-                return log_debug_errno(r, "Failed to send metadata to container: %m");
+                return log_error_errno(r, "Failed to send metadata to container: %m");
 
-        r = pidref_wait_for_terminate_and_check("(sd-coredumpns)", &child, 0);
+        r = pidref_wait_for_terminate_and_check("(sd-coredumpns)", &child, WAIT_LOG);
         if (r < 0)
-                return log_debug_errno(r, "Failed to wait for child to terminate: %m");
+                return r;
         if (r != EXIT_SUCCESS)
-                return log_debug_errno(SYNTHETIC_ERRNO(EPROTO), "Failed to process coredump in container.");
+                return -EPROTO;
 
         return 1; /* sent */
 }