From: Serge Hallyn <serge.hallyn@ubuntu.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Glauber Costa <glommer@parallels.com>,
cgroups@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
mtk.manpages@gmail.com, Serge Hallyn <serge.hallyn@canonical.com>,
linux-fsdevel@vger.kernel.org,
containers@lists.linux-foundation.org
Subject: Re: [PATCH 0/4] fix depvpts in user namespaces
Date: Fri, 15 Mar 2013 09:00:40 -0500 [thread overview]
Message-ID: <20130315140040.GB3782@sergelap> (raw)
In-Reply-To: <87boalt0vi.fsf@xmission.com>
Quoting Eric W. Biederman (ebiederm@xmission.com):
> Glauber Costa <glommer@parallels.com> writes:
>
> > Hi,
> >
> > devpts mounts in user namespaces is queued for 3.9. However, while playing
> > with it I found it to be less than ideal. Although it could possibly work
> > with custom software that can be made to point to /dev/pts/ptmx, a few things
> > prevent it from working correctly for people that, like us, are booting full
> > distributions.
>
> Full distributions that have not been modified to be minimally container
> aware.
Right, in fact in this case it doesn't need to be minimally container
aware, you just create the bind mount yourself and init just needs to
accept that it shouldn't touch it.
> > In those scenarios, things like udev will kick in, maybe remount /dev undoing
> > any setup we might have done, and then software like sshd or anything else
> > calling openpty will search for /dev/ptmx, not /dev/pts/ptmx.
>
> I believe udev stopped running in containers a year or so ago.
No, udev runs fine in containers, we just don't allow udevadm trigger.
> > One of the problems that I am addressing in here is that we are disallowing
> > mknod in usernamespaces. Although I understand the motivation for that, I
> > believe that to be too restrictive, specially because we already control access
> > to the files separately. There should be no harm in mknod'ing something per se,
> > if manipulating it is forbidden.
>
> mknod in userspace needs to be a separate patchset. There is no need to
> solve mknod in userspace to solve devpts.
>
>
> > Last, /dev/ptmx will still always be the global ptmx device. We need to somehow
> > link it to our namespaces'. My proposal is to multiplex it and return the
> > correct "root ptmx" depending on which userns is reading that device.
>
> Doable. I still strongly prefer my version of having /dev/ptmx act like
> a link to /dev/pts/ptmx. Letting the mount namespace control it.
Right, Glauber have you seen this patch? Eric did already solve this.
(And again that's a nice safeguard, but it shouldn't be necessary)
> In testing that works, and it allows a lot of devpts complexity to just
> go away. For older versions of udev you can even configure them with a
> rule to make /dev/ptmx a symlink to /dev/pts/ptmx. Newer versions of
> udev completely gave up on creating devices and can longer be configured
> to do anything useful in this regard.
>
> So we might even be able to just get away with a bit of udev and
> devtmpfs configuration.
devtmpfs? Until we get multiple separate mounts of devtmpfs, don't use
it in a container :)
> And treat devpts as if newinstance is always
> specified. Certainly that has worked in my testing so far.
>
> Eric
-serge
next prev parent reply other threads:[~2013-03-15 14:00 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-15 9:13 [PATCH 0/4] fix depvpts in user namespaces Glauber Costa
2013-03-15 9:13 ` Glauber Costa
[not found] ` <1363338823-25292-1-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-03-15 9:13 ` [PATCH 1/4] dev_cgroup: keep track of which cgroup is the root cgroup Glauber Costa
2013-03-15 9:13 ` Glauber Costa
[not found] ` <1363338823-25292-2-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-03-15 14:07 ` Serge Hallyn
2013-03-15 14:07 ` Serge Hallyn
2013-03-15 14:43 ` Glauber Costa
2013-03-15 14:43 ` Glauber Costa
2013-03-15 14:43 ` Glauber Costa
2013-03-15 14:55 ` Serge Hallyn
[not found] ` <514333A2.5060408-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-03-15 14:55 ` Serge Hallyn
2013-03-15 19:27 ` Aristeu Rozanski
2013-03-15 9:13 ` [PATCH 2/4] fs: allow dev accesses in userns in controlled situations Glauber Costa
2013-03-15 9:13 ` Glauber Costa
[not found] ` <1363338823-25292-3-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-03-15 14:20 ` Serge Hallyn
2013-03-15 14:20 ` Serge Hallyn
2013-03-19 15:32 ` Janne Karhunen
[not found] ` <CAE=Ncradvs_twWT8b6NQz85dm-Y8ayTH7NFv=i0vjYXpRBW9sg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-03-19 15:37 ` Serge Hallyn
2013-03-19 16:52 ` Janne Karhunen
[not found] ` <CAE=NcrYeKQYqkPsB9FG5PpYd2VTqmTszfpY39aRJqR=vsXfa7w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-03-19 17:27 ` Serge Hallyn
2013-03-19 18:08 ` Janne Karhunen
[not found] ` <CAE=NcraBvk_hwCd9BgASpDBkmEB+fg-kKwAPbT7bQeFRbq5DSg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-03-19 19:15 ` Serge Hallyn
2013-03-19 23:29 ` Eric W. Biederman
2013-03-15 9:13 ` [PATCH 3/4] fs: allow mknod in user namespaces Glauber Costa
2013-03-15 9:13 ` Glauber Costa
2013-03-15 18:03 ` Vasily Kulikov
2013-03-15 20:43 ` Eric W. Biederman
2013-03-15 20:43 ` Eric W. Biederman
2013-03-16 0:23 ` Serge Hallyn
[not found] ` <87a9q4gzs1.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2013-03-16 0:23 ` Serge Hallyn
[not found] ` <1363338823-25292-4-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-03-15 14:37 ` Serge Hallyn
2013-03-15 14:37 ` Serge Hallyn
2013-03-15 14:49 ` Glauber Costa
2013-03-15 14:49 ` Glauber Costa
[not found] ` <51433511.1020808-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-03-15 15:14 ` Serge Hallyn
2013-03-15 15:14 ` Serge Hallyn
2013-03-15 14:49 ` Glauber Costa
2013-03-15 18:03 ` Vasily Kulikov
2013-03-15 20:43 ` Eric W. Biederman
2013-03-15 9:13 ` Glauber Costa
2013-03-15 9:13 ` [PATCH 4/4] devpts: fix usage " Glauber Costa
2013-03-15 9:13 ` Glauber Costa
[not found] ` <1363338823-25292-5-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-03-15 14:45 ` Serge Hallyn
2013-03-15 14:45 ` Serge Hallyn
2013-03-15 9:13 ` Glauber Costa
2013-03-15 10:26 ` [PATCH 0/4] fix depvpts " Eric W. Biederman
[not found] ` <87boalt0vi.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2013-03-15 12:01 ` Glauber Costa
2013-03-15 14:00 ` Serge Hallyn
2013-03-15 14:00 ` Serge Hallyn [this message]
2013-03-15 14:42 ` Glauber Costa
2013-03-15 14:42 ` Glauber Costa
2013-03-15 14:42 ` Glauber Costa
[not found] ` <5143333E.1040100-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-03-15 15:21 ` Serge Hallyn
2013-03-15 15:26 ` Glauber Costa
2013-03-15 15:26 ` Glauber Costa
[not found] ` <51433DBE.9020109-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-03-15 15:58 ` Serge Hallyn
2013-03-15 16:01 ` Glauber Costa
2013-03-15 15:58 ` Serge Hallyn
2013-03-15 21:02 ` Eric W. Biederman
2013-03-15 21:02 ` Eric W. Biederman
2013-03-15 21:02 ` Eric W. Biederman
[not found] ` <87txoce5qy.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2013-03-18 3:20 ` Serge Hallyn
2013-03-18 3:20 ` Serge Hallyn
2013-03-18 21:23 ` Eric W. Biederman
2013-03-15 15:26 ` Glauber Costa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130315140040.GB3782@sergelap \
--to=serge.hallyn@ubuntu.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=containers@lists.linux-foundation.org \
--cc=ebiederm@xmission.com \
--cc=glommer@parallels.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=mtk.manpages@gmail.com \
--cc=serge.hallyn@canonical.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.