]> 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>
Fri, 21 Feb 2025 12:50:09 +0000 (13:50 +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 d545abe080876f32c1ba6de287821ccaa261a485..95bccbe3495cf3b80ccdfb4bea27a4c8d690838f 100644 (file)
@@ -576,6 +576,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