diff options
Diffstat (limited to 'kernel/panic.c')
| -rw-r--r-- | kernel/panic.c | 16 |
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 | ||
| 585 | void warn_slowpath_null(const char *file, int line) | 586 | void 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 | } |
| 589 | EXPORT_SYMBOL(warn_slowpath_null); | 591 | EXPORT_SYMBOL(warn_slowpath_null); |
| 592 | #else | ||
| 593 | void __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 | } | ||
| 603 | EXPORT_SYMBOL(__warn_printk); | ||
| 590 | #endif | 604 | #endif |
| 591 | 605 | ||
| 592 | #ifdef CONFIG_BUG | 606 | #ifdef CONFIG_BUG |
