summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2018-04-03 16:31:47 +0200
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2018-04-06 14:56:51 +0200
commit4c281074d2e7beb8179d81c3d2c2a53ae47dfa1c (patch)
treeee55dcb1ce8cbae59e71f54a13fc648197a4c2da /kernel
parentvsprintf: Do not preprocess non-dereferenced pointers for bprintf (%px and %pK) (diff)
downloadlinux-4c281074d2e7beb8179d81c3d2c2a53ae47dfa1c.tar.xz
linux-4c281074d2e7beb8179d81c3d2c2a53ae47dfa1c.zip
lockdep: Add print_irqtrace_events() to __warn
Running a test on a x86_32 kernel I triggered a bug that an interrupt disable/enable isn't being catched by lockdep. At least knowing where the last one was found would be helpful, but the warnings that are produced do not show this information. Even without debugging lockdep, having the WARN() display the last place hard and soft irqs were enabled or disabled is valuable. Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/panic.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/panic.c b/kernel/panic.c
index 2cfef408fec9..fa8d4cc4956a 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -554,6 +554,8 @@ void __warn(const char *file, int line, void *caller, unsigned taint,
else
dump_stack();
+ print_irqtrace_events(current);
+
print_oops_end_marker();
/* Just a warning, don't kill lockdep. */