Re: [PATCH 0/1] devpts: use dynamic_dname() to generate proc name

From: Eric W. Biederman
Date: Thu Aug 24 2017 - 11:55:25 EST


Stefan Lippers-Hollmann <s.l-h@xxxxxx> writes:

> Hi
>
> On 2017-08-23, Eric W. Biederman wrote:
>> Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes:
>> > On Wed, Aug 23, 2017 at 6:49 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> [...]
>> This is so far untested (except for compiling) but I think this will
>> work.
>>
>> I factor out devpts_ptmx_path out of devpts_acquire so the code
>> doesn't have to do unnecessary and confusing work, and add the
>> new function devpts_mnt.
>>
>> I revert the code to keep anything except a dentry in
>> tty->link->driver_data.
>>
>> And reduce the peer opening to a single function ptm_open_peer.
>>
>> It takes lines of code but the result is very straightforward code.
>
> I've given this a quick test, while it seems to fix the initial problem
> with umounting /dev/ptmx, it does introduce a new one - trying to open
> an xterm (KDE5's konsole to be exact) doesn't open a shell (the shell
> window remains totally empty) and trying to ssh into the system fails
> with "PTY allocation request failed on channel 0", logging in via a
> real tty and creating a new pbuilder chroot from there succeeds.

Weird. There is at least one leak inducing bug in there. So perhaps
that is the cause. *Scratches my head* Are you also testing the new
ioctl?

I will resend shortly with a version that has no differences in the old
code from v4.12 (other than the refactoring in fs/devpts/inode.c).
Which should make it very hard to have a regression.

Eric