diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-03-13 11:05:58 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-13 11:05:58 +0100 |
commit | cd80a8142efa3468c2cd9fb52845f334c3220d54 (patch) | |
tree | 919e88994bd3c09b34ce852d0a09bb0655d231d0 /kernel/panic.c | |
parent | 641cd4cfcdc71ce01535b31cc4d57d59a1fae1fc (diff) | |
parent | a98fe7f3425c6b4e90de16f8da63b0429a8fed08 (diff) | |
download | op-kernel-dev-cd80a8142efa3468c2cd9fb52845f334c3220d54.zip op-kernel-dev-cd80a8142efa3468c2cd9fb52845f334c3220d54.tar.gz |
Merge branch 'x86/core' into core/ipi
Diffstat (limited to 'kernel/panic.c')
-rw-r--r-- | kernel/panic.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/panic.c b/kernel/panic.c index 2a2ff36..32fe4ef 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -74,6 +74,9 @@ NORET_TYPE void panic(const char * fmt, ...) vsnprintf(buf, sizeof(buf), fmt, args); va_end(args); printk(KERN_EMERG "Kernel panic - not syncing: %s\n",buf); +#ifdef CONFIG_DEBUG_BUGVERBOSE + dump_stack(); +#endif bust_spinlocks(0); /* @@ -355,15 +358,18 @@ EXPORT_SYMBOL(warn_slowpath); #endif #ifdef CONFIG_CC_STACKPROTECTOR + /* * Called when gcc's -fstack-protector feature is used, and * gcc detects corruption of the on-stack canary value */ void __stack_chk_fail(void) { - panic("stack-protector: Kernel stack is corrupted"); + panic("stack-protector: Kernel stack is corrupted in: %p\n", + __builtin_return_address(0)); } EXPORT_SYMBOL(__stack_chk_fail); + #endif core_param(panic, panic_timeout, int, 0644); |