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

Pavel Emelyanov xemul at openvz.org
Thu Aug 9 00:10:33 PDT 2007


Eric W. Biederman wrote:
> 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.

no locks - only current is allowed to change its nsproxy!

> 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.
> 
> Eric
> 

_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list