Re: [PATCH] tty: Only hangup once

From: Greg KH
Date: Tue Nov 19 2013 - 12:40:47 EST


On Tue, Nov 19, 2013 at 08:19:52PM +0300, Heorhi Valakhanovich wrote:
> On Tue, 19 Nov 2013 08:46:27 -0500
> Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> 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@xxxxxx>
> > Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
> > ---
> > 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.

I'll queue this up after 3.13-rc1 is out.

It should be backported to 3.12, and any other kernels?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/