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>
This commit is contained in:
Andi Kleen 2012-01-12 17:20:30 -08:00 committed by Linus Torvalds
parent b8f566b04d
commit 6e6f0a1f0f
1 changed files with 5 additions and 1 deletions

View File

@ -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
/*