]> git.itanic.dy.fi Git - linux-stable/commitdiff
printk: For @suppress_panic_printk check for other CPU in panic
authorJohn Ogness <john.ogness@linutronix.de>
Wed, 7 Feb 2024 13:40:55 +0000 (14:46 +0106)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Apr 2024 11:09:58 +0000 (13:09 +0200)
[ Upstream commit 0ab7cdd00491b532591ef065be706301de7e448f ]

Currently @suppress_panic_printk is checked along with
non-matching @panic_cpu and current CPU. This works
because @suppress_panic_printk is only set when
panic_in_progress() is true.

Rather than relying on the @suppress_panic_printk semantics,
use the concise helper function other_cpu_in_progress(). The
helper function exists to avoid open coding such tests.

Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20240207134103.1357162-7-john.ogness@linutronix.de
Signed-off-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/printk/printk.c

index 7a835b277e98d7fc5b4cca5fe86dfe603310646a..e1b992652ab25c88a971490d4d1df3e19e4654d2 100644 (file)
@@ -2328,8 +2328,7 @@ asmlinkage int vprintk_emit(int facility, int level,
        if (unlikely(suppress_printk))
                return 0;
 
-       if (unlikely(suppress_panic_printk) &&
-           atomic_read(&panic_cpu) != raw_smp_processor_id())
+       if (unlikely(suppress_panic_printk) && other_cpu_in_panic())
                return 0;
 
        if (level == LOGLEVEL_SCHED) {