Messages in this thread | | | Date | Wed, 30 May 2018 09:24:19 +0200 | From | Petr Mladek <> | Subject | Re: [PATCH] printk: drop in_nmi check from printk_safe_flush_on_panic() |
| |
On Wed 2018-05-30 16:03:50, Sergey Senozhatsky wrote: > Drop the in_nmi() check from printk_safe_flush_on_panic() > and attempt to re-init (IOW unlock) locked logbuf spinlock > from panic CPU regardless of its context. Otherwise, > theoretically, we can deadlock on logbuf trying to flush > per-CPU buffers: > a) Panic CPU is running in non-NMI context > b) Panic CPU sends out shutdown IPI via reboot vector > c) Panic CPU fails to stop all remote CPUs > d) Panic CPU sends out shutdown IPI via NMI vector > One of the CPUs that we bring down via NMI vector can hold > logbuf spin lock (theoretically). > > Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Acked-by: Petr Mladek <pmladek@suse.com>
Just to be sure. IMHO, it is not worth nominating this patch for stable. It is not a regression fix. I see it as a continuous improving of the handling in various corner cases. And I see this as a distant corner case.
Best Regards, Petr
| |