summaryrefslogtreecommitdiff
path: root/kernel/printk/printk_safe.c
diff options
context:
space:
mode:
authorPetr Mladek <pmladek@suse.com>2024-11-18 14:07:05 +0100
committerPetr Mladek <pmladek@suse.com>2024-11-18 14:07:05 +0100
commit34767e5357fc8051b192ff3fd921ade7c1b37c46 (patch)
tree9a5035eed562a39281164e4ab95e5ea818d073f6 /kernel/printk/printk_safe.c
parenta961ec4e2860af4933e8c1763fe4f038c2d6ac80 (diff)
parentda115c4ee29f589bb72ec2e86eb5e196b6bbcb41 (diff)
Merge branch 'for-6.13-force-console' into for-linus
Diffstat (limited to 'kernel/printk/printk_safe.c')
-rw-r--r--kernel/printk/printk_safe.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/kernel/printk/printk_safe.c b/kernel/printk/printk_safe.c
index 2b35a9d3919d..6f94418d53ff 100644
--- a/kernel/printk/printk_safe.c
+++ b/kernel/printk/printk_safe.c
@@ -12,6 +12,24 @@
#include "internal.h"
+/* Context where printk messages are never suppressed */
+static atomic_t force_con;
+
+void printk_force_console_enter(void)
+{
+ atomic_inc(&force_con);
+}
+
+void printk_force_console_exit(void)
+{
+ atomic_dec(&force_con);
+}
+
+bool is_printk_force_console(void)
+{
+ return atomic_read(&force_con);
+}
+
static DEFINE_PER_CPU(int, printk_context);
/* Can be preempted by NMI. */