Re: [PATCH] serial: 8250_dw: Fix deadlock in LCR workaround

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 11, 2015 at 09:19:16AM -0400, Peter Hurley wrote:
> Trying to write console output from within the serial console driver
> while the port->lock is held causes recursive deadlock:
> 
>   CPU 0
> spin_lock_irqsave(&port->lock)
> printk()
>   console_unlock()
>     call_console_drivers()
>       serial8250_console_write()
>         spin_lock_irqsave(&port->lock)
> ** DEADLOCK **
> 
> The 8250_dw i/o accessors try to write a console error message if the
> LCR workaround was unsuccessful. When the port->lock is already held
> (eg., when called from serial8250_set_termios()), this deadlocks.
> 
> Make the error message a FIXME until a general solution is devised.
> 
> Cc: Tim Kryger <tim.kryger@xxxxxxxxx>
> Reported-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx>
> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
> ---
>  drivers/tty/serial/8250/8250_dw.c | 15 ++++++++++++---
>  1 file changed, 12 insertions(+), 3 deletions(-)

Should this go into 4.0-final?  Are people hitting this now, or did you
just find it by code reading?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux