2015-08-06 11:29:23

by Peter Hurley

[permalink] [raw]
Subject: Re: [PATCHv2 1/2] tty: serial: men_z135_uart.c: Fix race between IRQ and set_termios()

On 08/06/2015 03:16 AM, Johannes Thumshirn wrote:
> Fix panic caused by a race between men_z135_intr() and men_z135_set_termios().
>
> men_z135_intr() and men_z135_set_termios() both hold the struct uart_port::lock
> spinlock, but men_z135_intr() does a spin_lock_irqsave() and
> men_z135_set_termios() does a normal spin_lock(), which can lead to a deadlock
> when an interrupt is called while the lock is being helt by
> men_z135_set_termios().
>
> This was discovered using a insmod, hardware looppback send/receive, rmmod
> stress test.

Reviewed-by: Peter Hurley <[email protected]>