Преглед на файлове

TTY: ttyprintk, initialize tty_port earlier

After tty_register_driver is called, it is too late to initialize a
guy with which we operate in open. When a process already called
open(2) on that node, the structures may be in use uninitialized.

Move the initialization prior to tty_register_driver.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Samo Pogacnik <samo_pogacnik@t-2.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jiri Slaby преди 13 години
родител
ревизия
536a3440a2
променени са 1 файла, в които са добавени 4 реда и са изтрити 4 реда
  1. 4 4
      drivers/char/ttyprintk.c

+ 4 - 4
drivers/char/ttyprintk.c

@@ -180,6 +180,10 @@ static int __init ttyprintk_init(void)
 	int ret = -ENOMEM;
 	void *rp;
 
+	tty_port_init(&tpk_port.port);
+	tpk_port.port.ops = &null_ops;
+	mutex_init(&tpk_port.port_write_mutex);
+
 	ttyprintk_driver = alloc_tty_driver(1);
 	if (!ttyprintk_driver)
 		return ret;
@@ -210,10 +214,6 @@ static int __init ttyprintk_init(void)
 		goto error;
 	}
 
-	tty_port_init(&tpk_port.port);
-	tpk_port.port.ops = &null_ops;
-	mutex_init(&tpk_port.port_write_mutex);
-
 	return 0;
 
 error: