]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
kdb: Do not assume write() callback available
authorJohn Ogness <john.ogness@linutronix.de>
Mon, 17 Jul 2023 19:46:01 +0000 (21:52 +0206)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:47:22 +0000 (12:47 +0100)
commit 6d3e0d8cc63221dec670d0ee92ac57961581e975 upstream.

It is allowed for consoles to not provide a write() callback. For
example ttynull does this.

Check if a write() callback is available before using it.

Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20230717194607.145135-2-john.ogness@linutronix.de
Cc: Brian Norris <briannorris@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/debug/kdb/kdb_io.c

index b28b8a5ef6381b9df37dea6497703cc7c677fb16..1d016767179f507ba92bbe86f8e8d0dc98e8d8b6 100644 (file)
@@ -577,6 +577,8 @@ static void kdb_msg_write(const char *msg, int msg_len)
                        continue;
                if (c == dbg_io_ops->cons)
                        continue;
+               if (!c->write)
+                       continue;
                /*
                 * Set oops_in_progress to encourage the console drivers to
                 * disregard their internal spin locks: in the current calling