[RFC][PATCH] Make access to taks's nsproxy liter

Eric W. Biederman ebiederm at xmission.com
Wed Aug 8 09:29:18 PDT 2007

Pavel Emelyanov <xemul at openvz.org> writes:

> When someone wants to deal with some other taks's namespaces
> it has to lock the task and then to get the desired namespace
> if the one exists. This is slow on read-only paths and may be
> impossible in some cases.
> E.g. Oleg recently noticed a race between unshare() and the
> (just sent for review) pid namespaces - when the task notifies
> the parent it has to know the parent's namespace, but taking
> the task_lock() is impossible there - the code is under write
> locked tasklist lock.
> On the other hand switching the namespace on task (daemonize)
> and releasing the namespace (after the last task exit) is rather
> rare operation and we can sacrifice its speed to solve the
> issues above.

Looks pretty decent but we need to clearly say what lock
you have to have to assign to the nsproxy pointer.

In this case it isn't so much of a lock as simply you must
be the process so I think the code is ok.  But it sufficiently
subtle it probably needs to be spelled out.


More information about the Containers mailing list