]> git.baikalelectronics.ru Git - kernel.git/commit
tty: introduce no_tty and use it in selinux
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 8 May 2007 07:26:56 +0000 (00:26 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 8 May 2007 18:15:04 +0000 (11:15 -0700)
commitbd4fed646c850c2f5d6ef1fe131de74fbd2afbad
tree73d5dca7f1b5120ecf1bbcc664094044bc35dc56
parent5bdb972f9fce27fe06f3d31daf27e7fa5a7b0d3e
tty: introduce no_tty and use it in selinux

While researching the tty layer pid leaks I found a weird case in selinux when
we drop a controlling tty because of inadequate permissions we don't do the
normal hangup processing.  Which is a problem if it happens the session leader
has exec'd something that can no longer access the tty.

We already have code in the kernel to handle this case in the form of the
TIOCNOTTY ioctl.  So this patch factors out a helper function that is the
essence of that ioctl and calls it from the selinux code.

This removes the inconsistency in handling dropping of a controlling tty and
who knows it might even make some part of user space happy because it received
a SIGHUP it was expecting.

In addition since this removes the last user of proc_set_tty outside of
tty_io.c proc_set_tty is made static and removed from tty.h

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: James Morris <jmorris@namei.org>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/char/tty_io.c
include/linux/tty.h
security/selinux/hooks.c