mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-21 06:01:23 +00:00
core: Add kernel message dumper to call on oopses and panics
The core functionality is implemented as per Linus suggestion from http://lists.infradead.org/pipermail/linux-mtd/2009-October/027620.html (with the kmsg_dump implementation by Linus). A struct kmsg_dumper has been added which contains a callback to dump the kernel log buffers on crashes. The kmsg_dump function gets called from oops_exit() and panic() and invokes this callbacks with the crash reason. [dwmw2: Fix log_end handling] Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net> Reviewed-by: Anders Grafstrom <anders.grafstrom@netinsight.net> Reviewed-by: Linus Torvalds <torvalds@linux-foundation.org> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
7cb777a3d7
commit
456b565cc5
3 changed files with 166 additions and 0 deletions
|
@ -10,6 +10,7 @@
|
|||
*/
|
||||
#include <linux/debug_locks.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/kmsg_dump.h>
|
||||
#include <linux/kallsyms.h>
|
||||
#include <linux/notifier.h>
|
||||
#include <linux/module.h>
|
||||
|
@ -74,6 +75,7 @@ NORET_TYPE void panic(const char * fmt, ...)
|
|||
dump_stack();
|
||||
#endif
|
||||
|
||||
kmsg_dump(KMSG_DUMP_PANIC);
|
||||
/*
|
||||
* If we have crashed and we have a crash kernel loaded let it handle
|
||||
* everything else.
|
||||
|
@ -338,6 +340,7 @@ void oops_exit(void)
|
|||
{
|
||||
do_oops_enter_exit();
|
||||
print_oops_end_marker();
|
||||
kmsg_dump(KMSG_DUMP_OOPS);
|
||||
}
|
||||
|
||||
#ifdef WANT_WARN_ON_SLOWPATH
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue