pty: return EINVAL for TIOCGPTN for BSD ptys
commite5bfd32af29d8ad915c6f1921ca10c8413a7fe28
authorJiri Slaby <jslaby@suse.cz>
Fri, 11 Jan 2013 11:06:27 +0000 (11 12:06 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 Jan 2013 19:44:47 +0000 (21 11:44 -0800)
treeacbf96e903c2d608f8f308c9705951aad4692b33
parent8fed561d40acfe9f0c40b7b6a252bcbcad6226be
pty: return EINVAL for TIOCGPTN for BSD ptys

commit ded2f295a36d17838fe97e80d7b6ea83381474f8 upstream.

Commit bbb63c514a3464342967237a51a21ea8f61ab951 (drivers:tty:fix up
ENOIOCTLCMD error handling) changed the default return value from tty
ioctl to be ENOTTY and not EINVAL. This is appropriate.

But in case of TIOCGPTN for the old BSD ptys glibc started failing
because it expects EINVAL to be returned. Only then it continues to
obtain the pts name the other way around.

So fix this case by explicit return of EINVAL in this case.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Reported-by: Florian Westphal <fw@strlen.de>
Cc: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/pty.c