diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2018-04-03 16:31:47 +0200 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2018-04-06 14:56:51 +0200 |
commit | 4c281074d2e7beb8179d81c3d2c2a53ae47dfa1c (patch) | |
tree | ee55dcb1ce8cbae59e71f54a13fc648197a4c2da /kernel | |
parent | vsprintf: Do not preprocess non-dereferenced pointers for bprintf (%px and %pK) (diff) | |
download | linux-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.c | 2 |
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. */ |