Commit 12335446 authored by John Ogness's avatar John Ogness Committed by Petr Mladek

um: kmsg_dumper: use srcu console list iterator

Rather than using the console_lock to guarantee safe console list
traversal, use srcu console list iteration.
Signed-off-by: default avatarJohn Ogness <john.ogness@linutronix.de>
Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20221116162152.193147-14-john.ogness@linutronix.de
parent 100bdef2
......@@ -16,29 +16,26 @@ static void kmsg_dumper_stdout(struct kmsg_dumper *dumper,
struct console *con;
unsigned long flags;
size_t len = 0;
int cookie;
/*
* If no consoles are available to output crash information, dump
* the kmsg buffer to stdout.
*/
if (!console_trylock())
return;
for_each_console(con) {
cookie = console_srcu_read_lock();
for_each_console_srcu(con) {
/*
* The ttynull console and disabled consoles are ignored
* since they cannot output. All other consoles are
* expected to output the crash information.
*/
if (strcmp(con->name, "ttynull") != 0 &&
(con->flags & CON_ENABLED)) {
(console_srcu_read_flags(con) & CON_ENABLED)) {
break;
}
}
console_unlock();
console_srcu_read_unlock(cookie);
if (con)
return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment