diff options
author | Anton Blanchard <anton@samba.org> | 2010-08-10 21:03:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-11 11:59:22 -0400 |
commit | 863a6049202412a6d655d052eb1c45ca7dd74a83 (patch) | |
tree | 9550c1f6c484460cb646f4472558512ac8a9f149 | |
parent | e2e7e093259d4c6b73b432122974393d6fcdfc2a (diff) |
lib/bug.c: add oops end marker to WARN implementation
We are missing the oops end marker for the exception based WARN implementation
in lib/bug.c. This is useful for logfile analysis tools.
Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@infradead.org>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | include/linux/kernel.h | 1 | ||||
-rw-r--r-- | kernel/panic.c | 2 | ||||
-rw-r--r-- | lib/bug.c | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 452833d67b21..d848cb854655 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -182,6 +182,7 @@ NORET_TYPE void panic(const char * fmt, ...) | |||
182 | __attribute__ ((NORET_AND format (printf, 1, 2))) __cold; | 182 | __attribute__ ((NORET_AND format (printf, 1, 2))) __cold; |
183 | extern void oops_enter(void); | 183 | extern void oops_enter(void); |
184 | extern void oops_exit(void); | 184 | extern void oops_exit(void); |
185 | void print_oops_end_marker(void); | ||
185 | extern int oops_may_print(void); | 186 | extern int oops_may_print(void); |
186 | NORET_TYPE void do_exit(long error_code) | 187 | NORET_TYPE void do_exit(long error_code) |
187 | ATTRIB_NORET; | 188 | ATTRIB_NORET; |
diff --git a/kernel/panic.c b/kernel/panic.c index 3e9037ae10e1..4c13b1a88ebb 100644 --- a/kernel/panic.c +++ b/kernel/panic.c | |||
@@ -338,7 +338,7 @@ static int init_oops_id(void) | |||
338 | } | 338 | } |
339 | late_initcall(init_oops_id); | 339 | late_initcall(init_oops_id); |
340 | 340 | ||
341 | static void print_oops_end_marker(void) | 341 | void print_oops_end_marker(void) |
342 | { | 342 | { |
343 | init_oops_id(); | 343 | init_oops_id(); |
344 | printk(KERN_WARNING "---[ end trace %016llx ]---\n", | 344 | printk(KERN_WARNING "---[ end trace %016llx ]---\n", |
@@ -166,6 +166,7 @@ enum bug_trap_type report_bug(unsigned long bugaddr, struct pt_regs *regs) | |||
166 | 166 | ||
167 | print_modules(); | 167 | print_modules(); |
168 | show_regs(regs); | 168 | show_regs(regs); |
169 | print_oops_end_marker(); | ||
169 | add_taint(BUG_GET_TAINT(bug)); | 170 | add_taint(BUG_GET_TAINT(bug)); |
170 | return BUG_TRAP_TYPE_WARN; | 171 | return BUG_TRAP_TYPE_WARN; |
171 | } | 172 | } |