提交 d4855e1f 编写于 作者: P Peter Hurley 提交者: Greg Kroah-Hartman

tty: Reset hupped state on open

A common security idiom is to hangup the current tty (via vhangup())
after forking but before execing a root shell. This hangs up any
existing opens which other processes may have and ensures subsequent
opens have the necessary permissions to open the root shell tty/pty.

Reset the TTY_HUPPED state after the driver has successfully
returned the opened tty (perform the reset while the tty is locked
to avoid racing with concurrent hangups).
Reported-by: NHeorhi Valakhanovich <valahanovich@tut.by>
Signed-off-by: NPeter Hurley <peter@hurleysoftware.com>
Cc: stable <stable@vger.kernel.org> # 3.12
Tested-by: NHeorhi Valakhanovich <valahanovich@tut.by>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 3dcf344b
......@@ -2086,6 +2086,7 @@ static int tty_open(struct inode *inode, struct file *filp)
filp->f_op = &tty_fops;
goto retry_open;
}
clear_bit(TTY_HUPPED, &tty->flags);
tty_unlock(tty);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册