diff options
| author | Richard Genoud <[email protected]> | 2017-03-20 10:52:41 +0000 |
|---|---|---|
| committer | Greg Kroah-Hartman <[email protected]> | 2017-03-31 15:26:19 +0000 |
| commit | 31ca2c63fdc0aee725cbd4f207c1256f5deaabde (patch) | |
| tree | 56d7a7b2697c1c90a988dffb36539f452006763c /net/unix/garbage.c | |
| parent | serial: mxs-auart: Fix baudrate calculation (diff) | |
| download | kernel-31ca2c63fdc0aee725cbd4f207c1256f5deaabde.tar.gz kernel-31ca2c63fdc0aee725cbd4f207c1256f5deaabde.zip | |
tty/serial: atmel: fix race condition (TX+DMA)
If uart_flush_buffer() is called between atmel_tx_dma() and
atmel_complete_tx_dma(), the circular buffer has been cleared, but not
atmel_port->tx_len.
That leads to a circular buffer overflow (dumping (UART_XMIT_SIZE -
atmel_port->tx_len) bytes).
Tested-by: Nicolas Ferre <[email protected]>
Signed-off-by: Richard Genoud <[email protected]>
Cc: stable <[email protected]> # 3.12+
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'net/unix/garbage.c')
0 files changed, 0 insertions, 0 deletions
