tty: Don't call panic() at tty_ldisc_init()
syzbot is reporting kernel panic [1] triggered by memory allocation failure at tty_ldisc_get() from tty_ldisc_init(). But since both tty_ldisc_get() and caller of tty_ldisc_init() can cleanly handle errors, tty_ldisc_init() does not need to call panic() when tty_ldisc_get() failed. [1] https://syzkaller.appspot.com/bug?id=883431818e036ae6a9981156a64b821110f39187 Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Reported-by: syzbot <syzkaller@googlegroups.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Jiri Slaby <jslaby@suse.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
598c2d41ff
commit
903f9db10f
@@ -2816,7 +2816,10 @@ struct tty_struct *alloc_tty_struct(struct tty_driver *driver, int idx)
|
||||
|
||||
kref_init(&tty->kref);
|
||||
tty->magic = TTY_MAGIC;
|
||||
tty_ldisc_init(tty);
|
||||
if (tty_ldisc_init(tty)) {
|
||||
kfree(tty);
|
||||
return NULL;
|
||||
}
|
||||
tty->session = NULL;
|
||||
tty->pgrp = NULL;
|
||||
mutex_init(&tty->legacy_mutex);
|
||||
|
Reference in New Issue
Block a user