Re: [RFC][PATCHv5 6/7] printk: use printk_safe buffers in printk
From: Sergey Senozhatsky
Date: Mon Dec 12 2016 - 20:27:04 EST
On (12/12/16 17:30), Petr Mladek wrote:
> On Thu 2016-12-01 22:55:45, Sergey Senozhatsky wrote:
> > Use printk_safe per-CPU buffers in printk recursion-prone blocks:
> > -- around logbuf_lock protected sections in vprintk_emit() and
> > console_unlock()
> > -- around down_trylock_console_sem() and up_console_sem()
> > Note that this solution addresses deadlocks caused by printk()
> > recursive calls only. That is vprintk_emit() and console_unlock().
> > Another thing to note is that we now keep lockdep enabled in printk,
> > because we are protected against the printk recursion caused by lockdep
> > in vprintk_emit() by the printk-safe mechanism - we first switch to
> > per-CPU buffers and only then access the deadlock-prone locks.
> > Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
> Looks fine and safe to me.
> Reviewed-by: Petr Mladek <pmladek@xxxxxxxx>