On Fri, 7 Sep 2018 09:55:33 -0400 Steven Rostedt <rost...@goodmis.org> wrote:
> On Fri, 7 Sep 2018 15:45:32 +0200 > Peter Zijlstra <pet...@infradead.org> wrote: > > > Yes really, we should not muck with the IRQ state from NMI context. > > Right, and we didn't. Your patch didn't change anything, but allow for > printk_nmi_enter/exit() to be traced by ftrace, but that's wrong to > begin with because it ftrace_nmi_enter() hasn't been called yet. > I would even argue that placing printk_nmi_enter() between lockdep_off() and ftrace_nmi_enter() is wrong because if in the future printk_nmi_enter() were to do any ftrace tracing, it wont be caught, as it was by having it before lockdep_off(). printk_nmi_enter() should not muck with IRQ state, nor should it do any ftrace tracing. Since ftrace mucks with IRQ state when it gets enabled or disabled, it will screw up lockdep, and lockdep will complain. That way we can use lockdep not being off to catch this bug. -- Steve