Re: regression, bisected: openpty fails from 3.7 onwards withoutdevpts

From: Alan Cox
Date: Thu Jan 10 2013 - 10:30:28 EST


On Thu, 10 Jan 2013 15:46:26 +0100
Florian Westphal <fw@xxxxxxxxx> wrote:

> Frank Lichtenheld discovered that openpty() doesn't work anymore when
> /dev/pts is not present.
>
> We bisected this down to
>
> commit bbb63c514a3464342967237a51a21ea8f61ab951
> Author: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
> Subject: drivers:tty:fix up ENOIOCTLCMD error handling
>
> The original program triggering the error was pptpd, but
> the test program below is sufficient:
> ----
> #include <stdio.h>
> #include <pty.h>
> int main(void) {
> int pty_fd, tty_fd;
> if (openpty(&pty_fd, &tty_fd, NULL, NULL, NULL) != 0) {
> perror("openpty");
> return 1;
> }
> return 0;
> }
> ----
> [ compile with cc -lutil pty.c -o pty ]
>
> If devpts is available or above commit reverted openpty works again.

The commit is fairly general - what we need to do here is to figure out
which specific thing trips up openpty so we can put the error on that
back as it was (or find a better way) so it still works.

Can you attach an strace of the working/failing cases without /dev/pts

Alan

--
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/