serial: 8250: move rx_running out of the bitfield
authorJohn Ogness <john.ogness@linutronix.de>
Fri, 14 Aug 2015 16:01:02 +0000 (18:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Aug 2015 00:19:50 +0000 (17:19 -0700)
That bitfield is modified by read + or + write operation. If someone
sets any of the other two bits it might render the lock useless.

While at it, remove other bitfields as well to avoid more such
errors.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250.h

index dd233108ec07ab6f454400f11740400fbf4f53b5..d54dcd87c67e2948c3e39e772dbef0fc48378827 100644 (file)
@@ -42,9 +42,9 @@ struct uart_8250_dma {
        size_t                  rx_size;
        size_t                  tx_size;
 
-       unsigned char           tx_running:1;
-       unsigned char           tx_err: 1;
-       unsigned char           rx_running:1;
+       unsigned char           tx_running;
+       unsigned char           tx_err;
+       unsigned char           rx_running;
 };
 
 struct old_serial_port {