Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 113471
b: refs/heads/master
c: 8dff04e
h: refs/heads/master
i:
  113469: 9c2e548
  113467: 7a72335
  113463: f370699
  113455: 4862521
  113439: 078fed6
  113407: 305f80c
v: v3
  • Loading branch information
Alan Cox authored and Linus Torvalds committed Oct 13, 2008
1 parent c97921b commit af2b897
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 335adde689150d2fcf4df3cb26a6fc6740ed1f3e
refs/heads/master: 8dff04ea316125639120c0a565ce0346b892fef7
18 changes: 7 additions & 11 deletions trunk/drivers/char/pty.c
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,6 @@ static void pty_unix98_shutdown(struct tty_struct *tty)
{
/* We have our own method as we don't use the tty index */
kfree(tty->termios);
kfree(tty->termios_locked);
}

/* We have no need to install and remove our tty objects as devpts does all
Expand All @@ -509,20 +508,17 @@ static int pty_unix98_install(struct tty_driver *driver, struct tty_struct *tty)
}
initialize_tty_struct(o_tty, driver->other, idx);

tty->termios = kmalloc(sizeof(struct ktermios), GFP_KERNEL);
tty->termios = kzalloc(sizeof(struct ktermios[2]), GFP_KERNEL);
if (tty->termios == NULL)
goto free_mem_out;
*tty->termios = driver->init_termios;
tty->termios_locked = kzalloc(sizeof(struct ktermios), GFP_KERNEL);
if (tty->termios_locked == NULL)
goto free_mem_out;
o_tty->termios = kmalloc(sizeof(struct ktermios), GFP_KERNEL);
tty->termios_locked = tty->termios + 1;

o_tty->termios = kzalloc(sizeof(struct ktermios[2]), GFP_KERNEL);
if (o_tty->termios == NULL)
goto free_mem_out;
*o_tty->termios = driver->other->init_termios;
o_tty->termios_locked = kzalloc(sizeof(struct ktermios), GFP_KERNEL);
if (o_tty->termios_locked == NULL)
goto free_mem_out;
o_tty->termios_locked = o_tty->termios + 1;

tty_driver_kref_get(driver->other);
if (driver->subtype == PTY_TYPE_MASTER)
Expand All @@ -540,10 +536,10 @@ static int pty_unix98_install(struct tty_driver *driver, struct tty_struct *tty)
pty_count++;
return 0;
free_mem_out:
pty_unix98_shutdown(o_tty);
kfree(o_tty->termios);
module_put(o_tty->driver->owner);
free_tty_struct(o_tty);
pty_unix98_shutdown(tty);
kfree(tty->termios);
return -ENOMEM;
}

Expand Down

0 comments on commit af2b897

Please sign in to comment.