Pavel Emelyanov <xemul@xxxxxxxxxx> writes: > Eric W. Biederman wrote: >> Pavel Emelyanov <xemul@xxxxxxxxxx> 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. Eric _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers