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 <daeseok.youn@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
dc3cfcd3f4
Коммит
429161d164
|
@ -5254,14 +5254,6 @@ static int dgap_tty_register(struct board_t *brd)
|
||||||
brd->serial_driver->init_termios = dgap_default_termios;
|
brd->serial_driver->init_termios = dgap_default_termios;
|
||||||
brd->serial_driver->driver_name = DRVSTR;
|
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
|
* Entry points for driver. Called by the kernel from
|
||||||
* tty_io.c and n_tty.c.
|
* 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->init_termios = dgap_default_termios;
|
||||||
brd->print_driver->driver_name = DRVSTR;
|
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
|
* Entry points for driver. Called by the kernel from
|
||||||
* tty_io.c and n_tty.c.
|
* tty_io.c and n_tty.c.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче