mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-03-04 18:51:03 +00:00
tty: tty_io: fix driver refcount imbalance on error path
tty_lookup_driver take a reference to the struct tty_driver, but forget to release it on the error path, lead to a memory leak. add a tty_driver_kref_put before error return. Signed-off-by: Lin Yi <teroincn@163.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5e309c6c5e
commit
8c8af41d24
@ -1837,7 +1837,7 @@ static struct tty_struct *tty_open_current_tty(dev_t device, struct file *filp)
|
|||||||
static struct tty_driver *tty_lookup_driver(dev_t device, struct file *filp,
|
static struct tty_driver *tty_lookup_driver(dev_t device, struct file *filp,
|
||||||
int *index)
|
int *index)
|
||||||
{
|
{
|
||||||
struct tty_driver *driver;
|
struct tty_driver *driver = NULL;
|
||||||
|
|
||||||
switch (device) {
|
switch (device) {
|
||||||
#ifdef CONFIG_VT
|
#ifdef CONFIG_VT
|
||||||
@ -1858,6 +1858,8 @@ static struct tty_driver *tty_lookup_driver(dev_t device, struct file *filp,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (driver)
|
||||||
|
tty_driver_kref_put(driver);
|
||||||
return ERR_PTR(-ENODEV);
|
return ERR_PTR(-ENODEV);
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user