tty: cleanup prohibition of direct opening for unix98 pty master
authorKonstantin Khlebnikov <khlebnikov@openvz.org>
Thu, 5 Jan 2012 09:04:21 +0000 (13:04 +0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 24 Jan 2012 21:56:10 +0000 (13:56 -0800)
commit593a27c4b212e2afdf772a1f8dcb894e91bda0fa
tree6b670f6ec0ef138fcfa6e68f3b2a456f86941efd
parentdcd6c92267155e70a94b3927bce681ce74b80d1f
tty: cleanup prohibition of direct opening for unix98 pty master

cleanup hack added in v2.6.27-3203-g15582d3

comment from that patch:

: pty: If the administrator creates a device for a ptmx slave we should not error
:
: The open path for ptmx slaves is via the ptmx device. Opening them any
: other way is not allowed. Vegard Nossum found that previously this was not
: the case and mknod foo c 128 42; cat foo would produce nasty diagnostics
:
: Signed-off-by: Alan Cox <alan@redhat.com>
: Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

devpts_get_tty() returns non-null only for inodes on devpts, but there is no
inodes for master-devices, /dev/ptmx (/dev/pts/ptmx) is the only way to open them.
Thus we can completely forbid lookup for master-devices and eliminate that hack in
tty_init_dev() because tty_open() will get EIO from tty_driver_lookup_tty().

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/tty/pty.c
drivers/tty/tty_io.c
include/linux/tty.h