Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-21 Thread Linus Torvalds
On Mon, Dec 21, 2015 at 2:03 PM, Eric W. Biederman wrote: > > What actually breaks is "echo NNN > /proc/sys/kernel/pty/reserve" > Which allows the primary instance of devpts to have access to more > ptys than any other instance. Ok. We'll probably need to fix that similarly (make it look up /dev/

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-21 Thread Eric W. Biederman
ebied...@xmission.com (Eric W. Biederman) writes: > "H. Peter Anvin" writes: > >> Does it matter if it mounts devpts twice? It seems like a waste of a >> minuscule amount of memory, and nothing else. > It breaks system("mknod /tmp/ptmx c 5 2"); open("/tmp/ptmx"); Correction. It does break the

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-20 Thread Eric W. Biederman
"H. Peter Anvin" writes: > Does it matter if it mounts devpts twice? It seems like a waste of a > minuscule amount of memory, and nothing else. It breaks system("mknod /tmp/ptmx c 5 2"); open("/tmp/ptmx"); As it opens a pty in an inaccessible instance of devpts. When previously the instance o

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-19 Thread H. Peter Anvin
On December 19, 2015 8:11:50 PM PST, ebied...@xmission.com wrote: >ebied...@xmission.com (Eric W. Biederman) writes: > In that system ptys simply did not work after boot when I tested associating /dev/ptmx with the first mount of the devpts >filesystem. >>> >>> Assuming userspace isn't br

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-19 Thread Eric W. Biederman
ebied...@xmission.com (Eric W. Biederman) writes: >>> In that system ptys simply did not work after boot when I tested >>> associating /dev/ptmx with the first mount of the devpts filesystem. >> >> Assuming userspace isn't broken by that patch, is a fixed association >> with first mount otherwise

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-19 Thread Eric W. Biederman
Peter Hurley writes: > On 12/11/2015 11:40 AM, Eric W. Biederman wrote: >> Forcing newinstance for every mount of the devpts filesystem actually >> requires the association between /dev/ptmx and the currently mounted >> instance of devpts at /dev/pts. Simply remembering the first mount of >> the

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-14 Thread H. Peter Anvin
On 12/14/15 11:47, Peter Hurley wrote: > On 12/11/2015 11:40 AM, Eric W. Biederman wrote: >> Forcing newinstance for every mount of the devpts filesystem actually >> requires the association between /dev/ptmx and the currently mounted >> instance of devpts at /dev/pts. Simply remembering the first

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-14 Thread Peter Hurley
On 12/11/2015 11:40 AM, Eric W. Biederman wrote: > Forcing newinstance for every mount of the devpts filesystem actually > requires the association between /dev/ptmx and the currently mounted > instance of devpts at /dev/pts. Simply remembering the first mount of > the devpts filesystem and associ

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread H. Peter Anvin
On December 11, 2015 3:16:48 PM PST, Andy Lutomirski wrote: >On Fri, Dec 11, 2015 at 3:07 PM, H. Peter Anvin wrote: >> On December 11, 2015 3:00:49 PM PST, Andy Lutomirski > wrote: >>>On Fri, Dec 11, 2015 at 2:58 PM, Jann Horn wrote: On Fri, Dec 11, 2015 at 02:52:01PM -0800, Andy Lutomirsk

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Andy Lutomirski
On Fri, Dec 11, 2015 at 3:07 PM, H. Peter Anvin wrote: > On December 11, 2015 3:00:49 PM PST, Andy Lutomirski > wrote: >>On Fri, Dec 11, 2015 at 2:58 PM, Jann Horn wrote: >>> On Fri, Dec 11, 2015 at 02:52:01PM -0800, Andy Lutomirski wrote: On Fri, Dec 11, 2015 at 2:35 PM, Eric W. Biederman

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread H. Peter Anvin
On December 11, 2015 3:00:49 PM PST, Andy Lutomirski wrote: >On Fri, Dec 11, 2015 at 2:58 PM, Jann Horn wrote: >> On Fri, Dec 11, 2015 at 02:52:01PM -0800, Andy Lutomirski wrote: >>> On Fri, Dec 11, 2015 at 2:35 PM, Eric W. Biederman >>> wrote: >>> > Andy Lutomirski writes: >>> > >>> >> On Fri

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Andy Lutomirski
On Fri, Dec 11, 2015 at 2:58 PM, Jann Horn wrote: > On Fri, Dec 11, 2015 at 02:52:01PM -0800, Andy Lutomirski wrote: >> On Fri, Dec 11, 2015 at 2:35 PM, Eric W. Biederman >> wrote: >> > Andy Lutomirski writes: >> > >> >> On Fri, Dec 11, 2015 at 2:07 PM, H. Peter Anvin wrote: >> >>> On 12/11/15

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread H. Peter Anvin
On December 11, 2015 2:35:16 PM PST, ebied...@xmission.com wrote: >Andy Lutomirski writes: > >> On Fri, Dec 11, 2015 at 2:07 PM, H. Peter Anvin >wrote: >>> On 12/11/15 13:48, Andy Lutomirski wrote: On Fri, Dec 11, 2015 at 1:11 PM, Eric W. Biederman wrote: > Al Viro writes: > >

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Jann Horn
On Fri, Dec 11, 2015 at 02:52:01PM -0800, Andy Lutomirski wrote: > On Fri, Dec 11, 2015 at 2:35 PM, Eric W. Biederman > wrote: > > Andy Lutomirski writes: > > > >> On Fri, Dec 11, 2015 at 2:07 PM, H. Peter Anvin wrote: > >>> On 12/11/15 13:48, Andy Lutomirski wrote: > On Fri, Dec 11, 2015 a

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Andy Lutomirski
On Fri, Dec 11, 2015 at 2:35 PM, Eric W. Biederman wrote: > Andy Lutomirski writes: > >> On Fri, Dec 11, 2015 at 2:07 PM, H. Peter Anvin wrote: >>> On 12/11/15 13:48, Andy Lutomirski wrote: On Fri, Dec 11, 2015 at 1:11 PM, Eric W. Biederman wrote: > Al Viro writes: > >> O

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Eric W. Biederman
Andy Lutomirski writes: > On Fri, Dec 11, 2015 at 2:07 PM, H. Peter Anvin wrote: >> On 12/11/15 13:48, Andy Lutomirski wrote: >>> On Fri, Dec 11, 2015 at 1:11 PM, Eric W. Biederman >>> wrote: Al Viro writes: > On Fri, Dec 11, 2015 at 01:40:40PM -0600, Eric W. Biederman wrote: >>>

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread H. Peter Anvin
On 12/11/15 14:24, Andy Lutomirski wrote: > > To do the whole shebang at once: > > ioctl(ptmx_fd, TIOCWHATEVER, fd_to_devpts_mount); > > returns the slave number if fd_to_devpts_mount points to the right > place or an error if not. > > ptsname(fd) logically does: > > fd_to_devpts_mount = open(

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Andy Lutomirski
On Fri, Dec 11, 2015 at 2:18 PM, H. Peter Anvin wrote: > On 12/11/15 14:12, Andy Lutomirski wrote: >>> >>> For the newinstance case st_dev should match between the master and the >>> slave. Unfortunately this is not the case for a legacy ptmx, as a >>> stat() on the master descriptor still return

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread H. Peter Anvin
On 12/11/15 14:12, Andy Lutomirski wrote: >> >> For the newinstance case st_dev should match between the master and the >> slave. Unfortunately this is not the case for a legacy ptmx, as a >> stat() on the master descriptor still returns the st_dev, st_rdev, and >> st_ino for the ptmx device node.

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread H. Peter Anvin
On 12/11/15 13:48, Andy Lutomirski wrote: > On Fri, Dec 11, 2015 at 1:11 PM, Eric W. Biederman > wrote: >> Al Viro 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 =

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Andy Lutomirski
On Fri, Dec 11, 2015 at 2:07 PM, H. Peter Anvin wrote: > On 12/11/15 13:48, Andy Lutomirski wrote: >> On Fri, Dec 11, 2015 at 1:11 PM, Eric W. Biederman >> wrote: >>> Al Viro writes: >>> On Fri, Dec 11, 2015 at 01:40:40PM -0600, Eric W. Biederman wrote: > +inode = path.dentry->

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Andy Lutomirski
On Fri, Dec 11, 2015 at 1:11 PM, Eric W. Biederman wrote: > Al Viro 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;

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Eric W. Biederman
Al Viro 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

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Eric W. Biederman
Linus Torvalds writes: > On Fri, Dec 11, 2015 at 11:40 AM, Eric W. Biederman > wrote: >> >> >> +struct inode *devpts_ptmx(struct inode *inode, struct file *filp) >> +{ >> +#ifdef CONFIG_DEVPTS_MULTIPLE_INSTANCES >> + struct path path, old; >> + struct super_block *sb; >> + stru

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Al Viro
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

Re: [PATCH] devpts: Sensible /dev/ptmx & force newinstance

2015-12-11 Thread Linus Torvalds
On Fri, Dec 11, 2015 at 11:40 AM, Eric W. Biederman wrote: > > > +struct inode *devpts_ptmx(struct inode *inode, struct file *filp) > +{ > +#ifdef CONFIG_DEVPTS_MULTIPLE_INSTANCES > + struct path path, old; > + struct super_block *sb; > + struct dentry *root; > + > + if (in