aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/panic.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/panic.c')
-rw-r--r--kernel/panic.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/panic.c b/kernel/panic.c
index da4d6bac270e..0ebea438278a 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -20,6 +20,7 @@
20#include <linux/kexec.h> 20#include <linux/kexec.h>
21#include <linux/debug_locks.h> 21#include <linux/debug_locks.h>
22#include <linux/random.h> 22#include <linux/random.h>
23#include <linux/kallsyms.h>
23 24
24int panic_on_oops; 25int panic_on_oops;
25int tainted; 26int tainted;
@@ -292,6 +293,20 @@ void oops_exit(void)
292 (unsigned long long)oops_id); 293 (unsigned long long)oops_id);
293} 294}
294 295
296#ifdef WANT_WARN_ON_SLOWPATH
297void warn_on_slowpath(const char *file, int line)
298{
299 char function[KSYM_SYMBOL_LEN];
300 unsigned long caller = (unsigned long) __builtin_return_address(0);
301
302 sprint_symbol(function, caller);
303 printk(KERN_WARNING "WARNING: at %s:%d %s()\n", file,
304 line, function);
305 dump_stack();
306}
307EXPORT_SYMBOL(warn_on_slowpath);
308#endif
309
295#ifdef CONFIG_CC_STACKPROTECTOR 310#ifdef CONFIG_CC_STACKPROTECTOR
296/* 311/*
297 * Called when gcc's -fstack-protector feature is used, and 312 * Called when gcc's -fstack-protector feature is used, and