diff options
author | Sreenath Vijayan <sreenath.vijayan@sony.com> | 2024-05-30 13:15:47 +0530 |
---|---|---|
committer | Petr Mladek <pmladek@suse.com> | 2024-06-03 17:17:29 +0200 |
commit | 3d9a0a25336433d48ddca1e1f4fea25fd4a3b1d8 (patch) | |
tree | 9ebb28d602a0cac9e68553601cb211457f0a5f4f | |
parent | 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0 (diff) | |
download | linux-stable-3d9a0a25336433d48ddca1e1f4fea25fd4a3b1d8.tar.gz linux-stable-3d9a0a25336433d48ddca1e1f4fea25fd4a3b1d8.tar.bz2 linux-stable-3d9a0a25336433d48ddca1e1f4fea25fd4a3b1d8.zip |
printk: Rename console_replay_all() and update context
Rename console_replay_all() to console_try_replay_all() to make
clear that the implementation is best effort. Also, the function
should not be called in NMI context as it takes locks, so update
the comment in code.
Fixes: 693f75b91a91 ("printk: Add function to replay kernel log on consoles")
Fixes: 1b743485e27f ("tty/sysrq: Replay kernel log messages on consoles via sysrq")
Suggested-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Shimoyashiki Taichi <taichi.shimoyashiki@sony.com>
Signed-off-by: Sreenath Vijayan <sreenath.vijayan@sony.com>
Link: https://lore.kernel.org/r/Zlguq/wU21Z8MqI4@sreenath.vijayan@sony.com
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
-rw-r--r-- | drivers/tty/sysrq.c | 2 | ||||
-rw-r--r-- | include/linux/printk.h | 4 | ||||
-rw-r--r-- | kernel/printk/printk.c | 6 |
3 files changed, 6 insertions, 6 deletions
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c index e5974b8239c9..53f8c2329c30 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c @@ -452,7 +452,7 @@ static const struct sysrq_key_op sysrq_unrt_op = { static void sysrq_handle_replay_logs(u8 key) { - console_replay_all(); + console_try_replay_all(); } static struct sysrq_key_op sysrq_replay_logs_op = { .handler = sysrq_handle_replay_logs, diff --git a/include/linux/printk.h b/include/linux/printk.h index 40afab23881a..ca4c9271daf6 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -195,7 +195,7 @@ void show_regs_print_info(const char *log_lvl); extern asmlinkage void dump_stack_lvl(const char *log_lvl) __cold; extern asmlinkage void dump_stack(void) __cold; void printk_trigger_flush(void); -void console_replay_all(void); +void console_try_replay_all(void); #else static inline __printf(1, 0) int vprintk(const char *s, va_list args) @@ -275,7 +275,7 @@ static inline void dump_stack(void) static inline void printk_trigger_flush(void) { } -static inline void console_replay_all(void) +static inline void console_try_replay_all(void) { } #endif diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 420fd310129d..ed003c06c335 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -4314,15 +4314,15 @@ void kmsg_dump_rewind(struct kmsg_dump_iter *iter) EXPORT_SYMBOL_GPL(kmsg_dump_rewind); /** - * console_replay_all - replay kernel log on consoles + * console_try_replay_all - try to replay kernel log on consoles * * Try to obtain lock on console subsystem and replay all * available records in printk buffer on the consoles. * Does nothing if lock is not obtained. * - * Context: Any context. + * Context: Any, except for NMI. */ -void console_replay_all(void) +void console_try_replay_all(void) { if (console_trylock()) { __console_rewind_all(); |