Hi Andy, On 09/09/2014 12:26 PM, Andy Lutomirski wrote: > On Tue, Sep 9, 2014 at 9:05 AM, Eric W. Biederman <ebiederm@xxxxxxxxxxxx> wrote: >> >> We may also want to discuss the specific restrictions on chroot. >> >> The text about chroot at least gives people a strong hint that the >> chroot rules are affected by user namespaces. >> >> The restrictions that we have settled on to avoid chroot being a problem >> are the creator of a user namespace must not be chrooted in their >> current mount namespace, and the creator of the user namespace must not >> be threaded. >> >> Andy can you check me on this it looks like unshare is currently buggy >> in that it will allow a threaded application to create a user namespace. > > I think it's this code in unshare: > > /* > * If unsharing a user namespace must also unshare the thread. > */ > if (unshare_flags & CLONE_NEWUSER) > unshare_flags |= CLONE_THREAD | CLONE_FS; > > I suppose that this should be documented. > > CLONE_FS prevents the chroot from leaking out of the namespace. (But > see the other thread that I'm about to start...) So, in the current draft of the setns(2) page, there is CLONE_NEWNS ... Since Linux 3.9, CLONE_NEWUSER also automatically implies CLONE_FS. Does that cover your point? Or did you mean that more needs to be said? Thanks, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html