serial: access after NULL check in uart_flush_buffer()
commit55d7b68996a5064f011d681bca412b6281d2f711
authorTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Wed, 7 May 2008 03:42:27 +0000 (6 20:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 8 May 2008 17:46:55 +0000 (8 10:46 -0700)
tree9eb586b44cffd647a2dc343fe54a1df2d27d5841
parent3f9827bc05581b6bb34ab0c6b5d8e028f71b4e78
serial: access after NULL check in uart_flush_buffer()

I noticed that

  static void uart_flush_buffer(struct tty_struct *tty)
  {
   struct uart_state *state = tty->driver_data;
   struct uart_port *port = state->port;
   unsigned long flags;

   /*
    * This means you called this function _after_ the port was
    * closed.  No cookie for you.
    */
   if (!state || !state->info) {
   WARN_ON(1);
   return;
   }

is too late for checking state != NULL.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/serial/serial_core.c