From: Daeseok Youn Date: Thu, 6 Nov 2014 10:27:11 +0000 (+0900) Subject: staging: dgap: fix memory leak caused by double allocation of tty_structs X-Git-Tag: v3.19-rc1~66^2~357 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=429161d164491f430ddbc591f45dc2cd39e0e8a1;p=karo-tx-linux.git staging: dgap: fix memory leak caused by double allocation of tty_structs 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c index 6418cc5687de..688aaa43e6dc 100644 --- a/drivers/staging/dgap/dgap.c +++ b/drivers/staging/dgap/dgap.c @@ -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.