On Tue, 2 Oct 2018 17:15:17 -0700 Daniel Wang <wonderfly@xxxxxxxxxx> wrote: > On Tue, Oct 2, 2018 at 1:42 AM Petr Mladek <pmladek@xxxxxxxx> wrote: > > > > Well, I still wonder why it helped and why you do not see it with 4.4. > > I have a feeling that the console owner switch helped only by chance. > > In fact, you might be affected by a race in > > printk_safe_flush_on_panic() that was fixed by the commit: > > > > 554755be08fba31c7 printk: drop in_nmi check from printk_safe_flush_on_panic() > > > > The above one commit might be enough. Well, there was one more > > NMI-related race that was fixed by: > > > > ba552399954dde1b printk: Split the code for storing a message into the log buffer > > a338f84dc196f44b printk: Create helper function to queue deferred console handling > > 03fc7f9c99c1e7ae printk/nmi: Prevent deadlock when accessing the main log buffer in NMI > > All of these commits already exist in 4.14 stable, since 4.14.68. The deadlock > still exists even when built from 4.14.73 (latest tag) though. And cherrypicking > dbdda842fe96 fixes it. > I don't see the big deal of backporting this. The biggest complaints about backports are from fixes that were added to late -rc releases where the fixes didn't get much testing. This commit was added in 4.16, and hasn't had any issues due to the design. Although a fix has been added: c14376de3a1 ("printk: Wake klogd when passing console_lock owner") Also from 4.16, but nothing else according to searching for "Fixes" tags. -- Steve