tty: Drop krefs for interrupted tty lock
authorPeter Hurley <peter@hurleysoftware.com>
Fri, 5 Feb 2016 18:49:36 +0000 (10:49 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Jun 2017 11:16:26 +0000 (13:16 +0200)
commitcc04a1433843ff8518f3bf6733e99abb05458b82
treec6d280f33bc6459b4ef5a816080d390913065b2b
parent983c09ebdbc2c047b608021411d70d5c4404b1a6
tty: Drop krefs for interrupted tty lock

commit e9036d0662360cd4c79578565ce422ed5872f301 upstream.

When the tty lock is interrupted on attempted re-open, 2 tty krefs
are still held. Drop extra kref before returning failure from
tty_lock_interruptible(), and drop lookup kref before returning
failure from tty_open().

Fixes: 0bfd464d3fdd ("tty: Wait interruptibly for tty lock on reopen")
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/tty_io.c
drivers/tty/tty_mutex.c