Skip to contentSkip to conversation

staging: dgap: fix memory leak caused by double allocation of tty_structs

PATCH New Daeseok Youn 1 participant 1 message Nov 6, 2014 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 2/4 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().

---
 drivers/staging/dgap/dgap.c |   16 ----------------
 1 files changed, 0 insertions(+), 16 deletions(-)
drivers/staging/dgap/dgap.c +0 -16
index 6418cc5..688aaa4 100644
@@ -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.
Signature · 1 line
1.7.1