Commit 3f388f28639f for kernel

commit 3f388f28639fd19d5bf6df7a882c94ccfbf49c2b
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Thu Oct 15 20:13:22 2020 -0700

    panic: dump registers on panic_on_warn

    Currently we print stack and registers for ordinary warnings but we do not
    for panic_on_warn which looks as oversight - panic() will reboot the
    machine but won't print registers.

    This moves printing of registers and modules earlier.

    This does not move the stack dumping as panic() dumps it.

    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Cc: Douglas Anderson <dianders@chromium.org>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Rafael Aquini <aquini@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Will Deacon <will@kernel.org>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Link: https://lkml.kernel.org/r/20200804095054.68724-1-aik@ozlabs.ru
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

diff --git a/kernel/panic.c b/kernel/panic.c
index aef8872ba843..396142ee43fd 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -589,6 +589,11 @@ void __warn(const char *file, int line, void *caller, unsigned taint,
 	if (args)
 		vprintk(args->fmt, args->args);

+	print_modules();
+
+	if (regs)
+		show_regs(regs);
+
 	if (panic_on_warn) {
 		/*
 		 * This thread may hit another WARN() in the panic path.
@@ -600,12 +605,7 @@ void __warn(const char *file, int line, void *caller, unsigned taint,
 		panic("panic_on_warn set ...\n");
 	}

-	print_modules();
-
-	if (regs)
-		show_regs(regs);
-	else
-		dump_stack();
+	dump_stack();

 	print_irqtrace_events(current);