On Fri, 7 Sep 2018 17:35:38 +0900 Sergey Senozhatsky <sergey.senozhatsky.w...@gmail.com> wrote:
> Should't printk_nmi_enter()/printk_nmi_exit() still be notrace? > Like you and Steven said - it's still before ftrace_nmi_enter() > and should be notrace regardless. Correct. My patch fixes both issues. The patch that Peter is posting is in case for some reason in the future printk_nmi_enter/exit() do something with interrupts or locking. And the printk_nmi_enter/exit() is placed where it is, in case for some reason lockdep_off/on() does a printk. The printk_nmi_enter/exit() and lockdep_off/on() are only changing state variables. Neither of them should be traced by ftrace. My patch solved the problem and was not just fixing a symptom. It could have been solved either way, but as Petr said, the printk_nmi_enter/exit() should have been notrace, because it was before ftrace_nmi_enter/exit(). Lockdep actually found this bug because the lockdep_on/off() was not first. -- Steve