Messages in this thread | | | From | (Eric W. Biederman) | Date | Fri, 11 Dec 2015 15:11:56 -0600 | Subject | Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance |
| |
Al Viro <viro@ZenIV.linux.org.uk> writes:
> On Fri, Dec 11, 2015 at 01:40:40PM -0600, Eric W. Biederman wrote: > >> + inode = path.dentry->d_inode; >> + filp->f_path = path; >> + filp->f_inode = inode; >> + filp->f_mapping = inode->i_mapping; >> + path_put(&old); > > Don't. You are creating a fairly subtle constraint on what the code in > fs/open.c and fs/namei.c can do, for no good reason. You can bloody > well maintain the information you need without that.
There is a good reason. We can not write a race free version of ptsname without it.
If it would help I am happy to add a helper to change the filp path that lives next to d_dentry_open so that this is not insane to maintain. I am not ready to consider yet another attempt by kernel people to solve userspace problems that is a half thought out mess that means we will still have bugs and problems 20 years hence.
We need to actually solve the problem and anything less than that is just stupid.
Eric
| |