diff options
author | Alan Cox <alan@linux.intel.com> | 2009-06-16 17:00:26 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 12:01:15 -0700 |
commit | 8d2ead743dd54dff1fe3d0f4933e5da8bfe07472 (patch) | |
tree | e653d3da09b89190a2c97796b1bc3d8f70f0d69e /drivers/char/tty_ldisc.c | |
parent | 03347e2592078a90df818670fddf97a33eec70fb (diff) | |
download | linux-8d2ead743dd54dff1fe3d0f4933e5da8bfe07472.tar.gz linux-8d2ead743dd54dff1fe3d0f4933e5da8bfe07472.tar.bz2 linux-8d2ead743dd54dff1fe3d0f4933e5da8bfe07472.zip |
tty: Fix leaks introduced by the shift to separate ldisc objects
Gold star for the kmemleak detector.
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/tty_ldisc.c')
-rw-r--r-- | drivers/char/tty_ldisc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/char/tty_ldisc.c b/drivers/char/tty_ldisc.c index 39c8f86dedd4..94b3e06d73ec 100644 --- a/drivers/char/tty_ldisc.c +++ b/drivers/char/tty_ldisc.c @@ -148,8 +148,10 @@ static struct tty_ldisc *tty_ldisc_try_get(int disc) } } spin_unlock_irqrestore(&tty_ldisc_lock, flags); - if (err) + if (err) { + kfree(ld); return ERR_PTR(err); + } return ld; } @@ -262,7 +264,7 @@ const struct file_operations tty_ldiscs_proc_fops = { * @ld: line discipline * * Install an instance of a line discipline into a tty structure. The - * ldisc must have a reference count above zero to ensure it remains/ + * ldisc must have a reference count above zero to ensure it remains. * The tty instance refcount starts at zero. * * Locking: |