]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: try to reopen /dev/kmsg again right after mounting /dev
authorLennart Poettering <lennart@poettering.net>
Fri, 19 Jul 2019 16:29:11 +0000 (18:29 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 24 Jul 2019 17:56:51 +0000 (19:56 +0200)
I was debugging stuff during early boot, and was confused that I never
found the logs for it in kmsg. The reason for that was that /proc is
generally not mounted the first time we do log_open() and hence
log_set_target(LOG_TARGET_KMSG) we do when running as PID 1 had not
effect. A lot later during start-up we call log_open() again where this
is fixed (after the point where we close all remaining fds still open),
but in the meantime no logs every got written to kmsg. This patch fixes
that.

src/core/main.c

index 187513bffe82377306c085dfb3fabd912cf4c3d2..ef17e71e119598c1a4eb07f7eefc21b92f5db834 100644 (file)
@@ -2427,6 +2427,11 @@ int main(int argc, char *argv[]) {
                                         goto finish;
                                 }
 
+                                /* Let's open the log backend a second time, in case the first time didn't
+                                 * work. Quite possibly we have mounted /dev just now, so /dev/kmsg became
+                                 * available, and it previously wasn't. */
+                                log_open();
+
                                 r = initialize_security(
                                                 &loaded_policy,
                                                 &security_start_timestamp,