lkml.org 
[lkml]   [2013]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] tty: Only hangup once
On Tue, 19 Nov 2013 08:46:27 -0500
Peter Hurley <peter@hurleysoftware.com> wrote:

> Would you please test the patch below and confirm the fix?
>
> --->%---
> Subject: [PATCH] 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: Heorhi Valakhanovich <valahanovich@tut.by>
> Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
> ---
> drivers/tty/tty_io.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
> index 3a1a01a..c74a00a 100644
> --- a/drivers/tty/tty_io.c
> +++ b/drivers/tty/tty_io.c
> @@ -2086,6 +2086,7 @@ retry_open:
> filp->f_op = &tty_fops;
> goto retry_open;
> }
> + clear_bit(TTY_HUPPED, &tty->flags);
> tty_unlock(tty);
>
>

It looks like this patch works. It solves my problem. Thanks.
Will wait for such fix in mainline.

Heorhi.


\
 
 \ /
  Last update: 2013-11-19 19:01    [W:0.049 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site