Browse Source

mkiss: Fix use after free in mkiss_close().

Need to do the unregister_device() after all references to the driver
private have been done.

Signed-off-by: David S. Miller <davem@davemloft.net>
David Miller 9 years ago
parent
commit
d79f16c046
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/net/hamradio/mkiss.c

+ 2 - 2
drivers/net/hamradio/mkiss.c

@@ -798,13 +798,13 @@ static void mkiss_close(struct tty_struct *tty)
 	if (!atomic_dec_and_test(&ax->refcnt))
 		down(&ax->dead_sem);
 
-	unregister_netdev(ax->dev);
-
 	/* Free all AX25 frame buffers. */
 	kfree(ax->rbuff);
 	kfree(ax->xbuff);
 
 	ax->tty = NULL;
+
+	unregister_netdev(ax->dev);
 }
 
 /* Perform I/O control on an active ax25 channel. */