[lkml]   [2013]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: CLONE_PARENT after setns(CLONE_NEWPID)
Hi Serge,

On 11/06, Serge Hallyn wrote:
> Hi Oleg,
> commit 40a0d32d1eaffe6aac7324ca92604b6b3977eb0e :
> "fork: unify and tighten up CLONE_NEWUSER/CLONE_NEWPID checks"
> breaks lxc-attach in 3.12. That code forks a child which does
> setns() and then does a clone(CLONE_PARENT). That way the
> grandchild can be in the right namespaces (which the child was
> not) and be a child of the original task, which is the monitor.


Yes, this is what 40a0d32d1ea explicitly tries to disallow.

> Is there a real danger in allowing CLONE_PARENT
> when current->nsproxy->pidns_for_children is not our pidns,
> or was this done out of an "over-abundance of caution"?

I am not sure... This all was based on the long discussion, and
it was decided that the CLONE_PARENT check should be consistent
wrt CLONE_NEWPID and pidns_for_children != task_active_pid_ns().

> Can we
> safely revert that new extra check?

Well, usually we do not break user-space, but I am not sure about
this case...

Eric, Andy, what do you think?

And if we allow CLONE_PARENT when ->pidns_for_children was changed,
should we also allow, say, CLONE_NEWPID && CLONE_PARENT ?


 \ /
  Last update: 2013-11-06 21:21    [W:0.111 / U:2.528 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site