diff options
author | Andi Kleen <ak@linux.intel.com> | 2012-01-12 17:20:30 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-12 20:13:11 -0800 |
commit | 6e6f0a1f0fa6bba1493c296eb30d1e176e1f8530 (patch) | |
tree | c1bbacbc93e5b6f7759d509d7cf6207ad5b3ee65 /kernel/panic.c | |
parent | b8f566b04d3cddd192cfd2418ae6d54ac6353792 (diff) | |
download | op-kernel-dev-6e6f0a1f0fa6bba1493c296eb30d1e176e1f8530.zip op-kernel-dev-6e6f0a1f0fa6bba1493c296eb30d1e176e1f8530.tar.gz |
panic: don't print redundant backtraces on oops
When an oops causes a panic and panic prints another backtrace it's pretty
common to have the original oops data be scrolled away on a 80x50 screen.
The second backtrace is quite redundant and not needed anyways.
So don't print the panic backtrace when oops_in_progress is true.
[akpm@linux-foundation.org: add comment]
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/panic.c')
-rw-r--r-- | kernel/panic.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/panic.c b/kernel/panic.c index 5dce540..80aed44 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -94,7 +94,11 @@ void panic(const char *fmt, ...) va_end(args); printk(KERN_EMERG "Kernel panic - not syncing: %s\n",buf); #ifdef CONFIG_DEBUG_BUGVERBOSE - dump_stack(); + /* + * Avoid nested stack-dumping if a panic occurs during oops processing + */ + if (!oops_in_progress) + dump_stack(); #endif /* |