um: kmsg_dumper: always dump when not tty console
authorThomas Meyer <thomas@m3y3r.de>
Thu, 7 Jan 2021 08:05:31 +0000 (09:05 +0100)
committerRichard Weinberger <richard@nod.at>
Tue, 26 Jan 2021 21:11:37 +0000 (22:11 +0100)
With the addition of the ttynull console driver, the chance that a
console driver was already registerd did increase. Refine the logic when
to dump the kernel message buffer: always dump the buffer, when the UML
stdio console driver is not active and the preferred console.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/kernel/kmsg_dump.c

index e4abac6..6516ef1 100644 (file)
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 #include <linux/kmsg_dump.h>
 #include <linux/console.h>
+#include <linux/string.h>
 #include <shared/init.h>
 #include <shared/kern.h>
 #include <os.h>
@@ -16,8 +17,12 @@ static void kmsg_dumper_stdout(struct kmsg_dumper *dumper,
        if (!console_trylock())
                return;
 
-       for_each_console(con)
-               break;
+       for_each_console(con) {
+               if(strcmp(con->name, "tty") == 0 &&
+                  (con->flags & (CON_ENABLED | CON_CONSDEV)) != 0) {
+                       break;
+               }
+       }
 
        console_unlock();