diff options
| author | Johannes Thumshirn <jthumshirn@suse.de> | 2015-08-06 09:16:37 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-08-14 17:14:13 -0700 |
| commit | 8117e347406278fd399b077add4e638cd017ae2d (patch) | |
| tree | c525404c5329e6d12f82dd5233687708b0a9cde2 /scripts/patch-kernel | |
| parent | serial: 8250: bind to ALi Fast Infrared Controller (ALI5123) (diff) | |
| download | linux-8117e347406278fd399b077add4e638cd017ae2d.tar.gz linux-8117e347406278fd399b077add4e638cd017ae2d.zip | |
tty: serial: men_z135_uart.c: Fix race between IRQ and set_termios()
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.
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Cc: Andreas Werner <andreas.werner@men.de>
Cc: stable@vger.kernel.org # v4.0+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts/patch-kernel')
0 files changed, 0 insertions, 0 deletions
