printk: wake waiters for safe and NMI contexts
authorJohn Ogness <john.ogness@linutronix.de>
Thu, 21 Apr 2022 21:22:40 +0000 (23:28 +0206)
committerPetr Mladek <pmladek@suse.com>
Fri, 22 Apr 2022 19:30:57 +0000 (21:30 +0200)
commit5341b93dea8c39d7612f7a227015d4b1d5cf30db
tree720691f7d680899dc1f1673487a625cb2c9409e2
parent938ba4084abcf6fdd21d9078513c52f8fb9b00d0
printk: wake waiters for safe and NMI contexts

When printk() is called from safe or NMI contexts, it will directly
store the record (vprintk_store()) and then defer the console output.
However, defer_console_output() only causes console printing and does
not wake any waiters of new records.

Wake waiters from defer_console_output() so that they also are aware
of the new records from safe and NMI contexts.

Fixes: 03fc7f9c99c1 ("printk/nmi: Prevent deadlock when accessing the main log buffer in NMI")
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20220421212250.565456-6-john.ogness@linutronix.de
kernel/printk/printk.c