]> git.karo-electronics.de Git - linux-beck.git/commitdiff
staging: dgap: fix memory leak caused by double allocation of tty_structs
authorDaeseok Youn <daeseok.youn@gmail.com>
Thu, 6 Nov 2014 10:27:11 +0000 (19:27 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Nov 2014 17:30:22 +0000 (09:30 -0800)
The tty_struct of serial_driver and print_driver were getting
allocated twice. One is allocated in tty_alloc_driver(), the other
is in dgap_tty_register(). So remove these in dgap_tty_register().

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/dgap/dgap.c

index 6418cc5687deb229ef91724b43e32dff8f0a5a3d..688aaa43e6dc5a722dc076d3a62e2d37f3382875 100644 (file)
@@ -5254,14 +5254,6 @@ static int dgap_tty_register(struct board_t *brd)
        brd->serial_driver->init_termios = dgap_default_termios;
        brd->serial_driver->driver_name = DRVSTR;
 
-       /* The kernel wants space to store pointers to tty_structs */
-       brd->serial_driver->ttys =
-               kzalloc(MAXPORTS * sizeof(struct tty_struct *), GFP_KERNEL);
-       if (!brd->serial_driver->ttys) {
-               rc = -ENOMEM;
-               goto free_serial_drv;
-       }
-
        /*
         * Entry points for driver.  Called by the kernel from
         * tty_io.c and n_tty.c.
@@ -5293,14 +5285,6 @@ static int dgap_tty_register(struct board_t *brd)
        brd->print_driver->init_termios = dgap_default_termios;
        brd->print_driver->driver_name = DRVSTR;
 
-       /* The kernel wants space to store pointers to tty_structs */
-       brd->print_driver->ttys =
-               kzalloc(MAXPORTS * sizeof(struct tty_struct *), GFP_KERNEL);
-       if (!brd->print_driver->ttys) {
-               rc = -ENOMEM;
-               goto free_print_drv;
-       }
-
        /*
         * Entry points for driver.  Called by the kernel from
         * tty_io.c and n_tty.c.