summaryrefslogtreecommitdiffstats
path: root/kernel/panic.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/panic.c')
-rw-r--r--kernel/panic.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/kernel/panic.c b/kernel/panic.c
index 89df5fa2f798..3242b64b1956 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -520,7 +520,8 @@ void __warn(const char *file, int line, void *caller, unsigned taint,
520{ 520{
521 disable_trace_on_warning(); 521 disable_trace_on_warning();
522 522
523 pr_warn(CUT_HERE); 523 if (args)
524 pr_warn(CUT_HERE);
524 525
525 if (file) 526 if (file)
526 pr_warn("WARNING: CPU: %d PID: %d at %s:%d %pS\n", 527 pr_warn("WARNING: CPU: %d PID: %d at %s:%d %pS\n",
@@ -584,9 +585,22 @@ EXPORT_SYMBOL(warn_slowpath_fmt_taint);
584 585
585void warn_slowpath_null(const char *file, int line) 586void warn_slowpath_null(const char *file, int line)
586{ 587{
588 pr_warn(CUT_HERE);
587 __warn(file, line, __builtin_return_address(0), TAINT_WARN, NULL, NULL); 589 __warn(file, line, __builtin_return_address(0), TAINT_WARN, NULL, NULL);
588} 590}
589EXPORT_SYMBOL(warn_slowpath_null); 591EXPORT_SYMBOL(warn_slowpath_null);
592#else
593void __warn_printk(const char *fmt, ...)
594{
595 va_list args;
596
597 pr_warn(CUT_HERE);
598
599 va_start(args, fmt);
600 vprintk(fmt, args);
601 va_end(args);
602}
603EXPORT_SYMBOL(__warn_printk);
590#endif 604#endif
591 605
592#ifdef CONFIG_BUG 606#ifdef CONFIG_BUG