Re: [PATCH 11/11] pidns: Support unsharing the pid namespace.

From: Rob Landley
Date: Fri Dec 21 2012 - 14:24:09 EST


On 12/21/2012 11:51:03 AM, Eric W. Biederman wrote:
Oleg Nesterov <oleg@xxxxxxxxxx> writes:

> Eric. I understand that it is too late to discuss this. And yes, I simply
> do not understand the problem space, I never used containers.
>
> But, stupid question. Let's ignore the pid_ns-specific oddities.
>
> 1. Ignoring setns(), why do we need /proc/pid/ns/ ?
>
> 2. Why setns() requires /proc/pid/ns/ ? IOW, why it can't be
>
> sys_setns(pid_t pid, int clone_flags)
> {
> truct task_struct *tsk = find_task_by_vpid(pid);
> struct nsproxy *target = get_nsproxy(tsk->nsproxy);
>
> new_nsproxy = create_new_namespaces(...);
>
> if (clone_flags & CLONE_NEWNS)
> mntns_install(...);
> if (clone_flags & CLONE_NEWIPC)
> ipcns_install(...);
> ...
> }
>
> I feel I missed something trivial, but what?

It is a question of naming.

The problem I set out to solve when all of this was introduced was how
to name namespaces without introducing yet another namespace.

The solution to the naming problem that I finally found was to introduce
something I could mount.

Where might I find documentation on this? I'm aware of Documentation/namespaces but it's only got one file in it (about conflicts between namespace types). I'm aware of http://lxc.sourceforge.net/index.php/about/kernel-namespaces/ and http://lxc.sourceforge.net/man/ but that's mixed in with the implementation details of a particular userspace tool, and tends to lag the kernel significantly. (Those man pages were last updated in 2010, which if I recall was the last time I poked them about it.)

Rob--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/