Question: copy_process() and CLONE_NEWNS

Kevin Wilson wkevils at gmail.com
Fri Feb 1 01:24:36 EST 2013


Hi all,
question:

In copy_process() we have:

static struct task_struct *copy_process(unsigned long clone_flags,
                                         unsigned long stack_start,
                                         struct pt_regs *regs,
                                         unsigned long stack_size,
                                         int __user *child_tidptr,
                                         struct pid *pid,
                                         int trace)
 {
         int retval;
         struct task_struct *p;
         int cgroup_callbacks_done = 0;

         if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS))
                 return ERR_PTR(-EINVAL);
 ...
...


see :http://lxr.free-electrons.com/source/kernel/fork.c#L1128

Why is the CLONE_NEWNS, when set, cause an error in copy_process(), as
shown above ?
is it not permitted that CLONE_NEWNS will be set ?

rgs,
Kevin



More information about the Kernelnewbies mailing list