Eric W. Biederman wrote:
Pavel Emelyanov <[EMAIL PROTECTED]> writes:

Eric W. Biederman wrote:
Pavel Emelyanov <[EMAIL PROTECTED]> 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.
no locks - only current is allowed to change its nsproxy!

Exactly.  Just need a comment or something to make that clear.

Oh! Ok, I will add it. Thanks.

Eric


_______________________________________________
Containers mailing list
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to