Commit 6723734cdff15211bb78aeea76ca847374bd93ae

Authored by Kees Cook
Committed by Linus Torvalds
1 parent 6325932666

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>

Showing 1 changed file with 6 additions and 2 deletions Side-by-side Diff

... ... @@ -123,9 +123,13 @@
123 123 */
124 124 smp_send_stop();
125 125  
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 + */
128 130 atomic_notifier_call_chain(&panic_notifier_list, 0, buf);
  131 +
  132 + kmsg_dump(KMSG_DUMP_PANIC);
129 133  
130 134 bust_spinlocks(0);
131 135