Skip to content

Commit 6723734

Browse files
keestorvalds
authored andcommitted
panic: call panic handlers before kmsg_dump
Since the panic handlers may produce additional information (via printk) for the kernel log, it should be reported as part of the panic output saved by kmsg_dump(). Without this re-ordering, nothing that adds information to a panic will show up in pstore's view when kmsg_dump runs, and is therefore not visible to crash reporting tools that examine pstore output. Signed-off-by: Kees Cook <keescook@chromium.org> Cc: Anton Vorontsov <anton@enomsg.org> Cc: Colin Cross <ccross@android.com> Acked-by: Tony Luck <tony.luck@intel.com> Cc: Stephen Boyd <sboyd@codeaurora.org> Cc: Vikram Mulukutla <markivx@codeaurora.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 6325932 commit 6723734

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

kernel/panic.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,14 @@ void panic(const char *fmt, ...)
123123
*/
124124
smp_send_stop();
125125

126-
kmsg_dump(KMSG_DUMP_PANIC);
127-
126+
/*
127+
* Run any panic handlers, including those that might need to
128+
* add information to the kmsg dump output.
129+
*/
128130
atomic_notifier_call_chain(&panic_notifier_list, 0, buf);
129131

132+
kmsg_dump(KMSG_DUMP_PANIC);
133+
130134
bust_spinlocks(0);
131135

132136
if (!panic_blink)

0 commit comments

Comments
 (0)