summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/printk/printk.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 247b0c1fadf..dc2b8bd9bc1 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2590,12 +2590,14 @@ int printk_sched(const char *fmt, ...)
va_list args;
int r;
+ preempt_disable();
va_start(args, fmt);
r = vprintk_emit(0, SCHED_MESSAGE_LOGLEVEL, NULL, 0, fmt, args);
va_end(args);
__this_cpu_or(printk_pending, PRINTK_PENDING_OUTPUT);
irq_work_queue(&__get_cpu_var(wake_up_klogd_work));
+ preempt_enable();
return r;
}