Re: Per-instance devpts

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Alan Cox <alan@...>
Cc: H. Peter Anvin <hpa@...>, Eric W. Biederman <ebiederm@...>, Andrew Morton <akpm@...>, <serue@...>, <matthltc@...>, Pavel Emelyanov <xemul@...>, Containers <containers@...>, <linux-kernel@...>, Greg KH <greg@...>
Date: Sunday, August 3, 2008 - 1:46 pm

Alan Cox [alan@lxorguk.ukuu.org.uk] wrote:
| > > 1. /dev/ptmx would have to change to a symlink, ptmx -> pts/ptmx.
| > 
| > IIRC, /dev/tty also needs a similar symlink.
| 
| Making them symlinks is asking for trouble because some code does go
| around using stat and the like and tools like MAKEDEV have definite ideas.
| 
| For /dev/tty the definition is precisely that it is your controlling
| tty. No reference to namespace and a task whose controlling tty is in a
| different namespace should still open the controlling tty not some
| parallel in another universe when you open /dev/tty.

Well, I thought the problem was something like this:

If /dev/pts/1 is the controlling terminal and there are multiple mounts
of devpts, when we open /dev/tty, kernel would somehow have to find the
right instance of devpts.

When init_dev() calls devpts_get_tty(), it would need to specify the devpts
instance. So tty_open() of "/dev/tty" would somehow have to find it based on
the /dev/tty inode (which could be in ext3).

(I thought the issue was similar with /dev/ptmx, ptmx allocates a new
index, /dev/tty accesses an existing index, but both need to somehow
find the right pts instance -no ?)

| 
| If you want to make sure the controlling tty is in the right namespace
| that can be done in userspace when transferring control into a namespace.
| In many cases I doubt that is even what is wanted.
| 
| > > 2. Permissions on /dev/ptmx would not be persistent, and would have to
| > >    be set via devpts mount options (unless they're 0666 root.tty, which
| > >    would presumably be the default.)
| > > 3. The /proc/sys/kernel/pty limit would be global; a per-filesystem
| > >    limit could be added on top or instead (presumably via a filesystem
| > >    mount options.)
| > >
| > > I worry #1 would have substantial user-space impact, but I don't see a way 
| > > around it, since there would be no obvious way to associate /dev/ptmx with 
| > > a filesystem.
| 
| /dev/tty and /dev/ptmx already primarily operate by identifying a device
| and switching the work to that. Actually putting a bit of namespace logic
| in the driver code so the actual files stay as expected (device nodes
| etc) seems a *lot* simpler than trying to do symlink hacks.
| 
| Alan
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 0/4] Helper patches for PTY namespaces, Eric W. Biederman, (Sat Apr 12, 3:06 pm)
Per-instance devpts, H. Peter Anvin, (Fri Aug 1, 2:12 pm)
Re: Per-instance devpts, , (Sun Aug 3, 1:08 am)
Re: Per-instance devpts, Alan Cox, (Sun Aug 3, 8:04 am)
Re: Per-instance devpts, , (Sun Aug 3, 1:46 pm)
Re: Per-instance devpts, Alan Cox, (Sun Aug 3, 1:54 pm)
Re: Per-instance devpts, H. Peter Anvin, (Sun Aug 3, 7:31 am)
Re: Per-instance devpts, Bastian Blank, (Sat Aug 2, 4:54 am)
Re: Per-instance devpts, Dave Hansen, (Fri Aug 1, 3:23 pm)
Re: Per-instance devpts, H. Peter Anvin, (Fri Aug 1, 3:37 pm)
Re: Per-instance devpts, Al Viro, (Fri Aug 1, 3:35 pm)
Re: [PATCH 0/4] Helper patches for PTY namespaces, Serge E. Hallyn, (Sat Apr 12, 8:59 pm)
Multiple instances of devpts, H. Peter Anvin, (Sat Apr 12, 2:54 pm)
Re: Multiple instances of devpts, Eric W. Biederman, (Sat Apr 12, 3:15 pm)
Re: Multiple instances of devpts, H. Peter Anvin, (Sat Apr 12, 3:24 pm)
Re: Multiple instances of devpts, H. Peter Anvin, (Sat Apr 12, 3:30 pm)
Re: [PATCH 0/4] Helper patches for PTY namespaces, H. Peter Anvin, (Sat Apr 12, 2:09 pm)