]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
printk: Rename console_replay_all() and update context
authorSreenath Vijayan <sreenath.vijayan@sony.com>
Thu, 30 May 2024 07:45:47 +0000 (13:15 +0530)
committerPetr Mladek <pmladek@suse.com>
Mon, 3 Jun 2024 15:17:29 +0000 (17:17 +0200)
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>
drivers/tty/sysrq.c
include/linux/printk.h
kernel/printk/printk.c

index e5974b8239c9904abbc15c1b658380bd800426b8..53f8c2329c30c8763c562ab85e79988640b58349 100644 (file)
@@ -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,
index 40afab23881a0a63fa68e710cb6c8a0389171146..ca4c9271daf66cd95f1caa0aa91626bae53183ac 100644 (file)
@@ -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
index 420fd310129d4b2a05612c57c7c8b4b9605bee99..ed003c06c335daa1d65b1e9a6ff9fc4dfbbc11f0 100644 (file)
@@ -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();