On 11/06, Eric W. Biederman wrote: > > --- a/kernel/fork.c > +++ b/kernel/fork.c > @@ -1174,7 +1174,7 @@ static struct task_struct *copy_process(unsigned long > clone_flags, > * do not allow it to share a thread group or signal handlers or > * parent with the forking task. > */ > - if (clone_flags & (CLONE_SIGHAND | CLONE_PARENT)) { > + if (clone_flags & (CLONE_SIGHAND)) { > if ((clone_flags & (CLONE_NEWUSER | CLONE_NEWPID)) || > (task_active_pid_ns(current) != > current->nsproxy->pid_ns_for_children))
OK, agreed. I failed to find any problem with CLONE_PARENT with CLONE_NEWUSER or after setns. And the main point of 40a0d32d1eaf was "make them consistent", not "tighten up". Besides, this doesn't differ too much from setns + fork() && exit(), the grandchild will have the new namespace and reparented. Acked-by: Oleg Nesterov <o...@redhat.com> > Changing the CLONE_SIGHAND into CLONE_THREAD will need to happen in a > separate patch. It isn't stable material, and so far there is no > compelling use case for it. Yes. Again, 40a0d32d1eaf chose CLONE_SIGHAND to unify CLONE_NEWUSER/setns cases, copy_process() used this check. And in fact I voted for CLONE_THREAD from the very beginning, it was you who suggested to use CLONE_SIGHAND instead ;) OTOH, it was probably right to not relax the restrictions we already had. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/