lkml.org 
[lkml]   [2013]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: For review: pid_namespaces(7) man page
Rob Landley <rob@landley.net> writes:

> On 03/04/2013 11:52:19 AM, Eric W. Biederman wrote:
>> > How about this:
>> >
>> > The point here is that unshare(2) and setns(2) change the
>> PID
>> > namespace for processes subsequently created by the caller,
>> but
>> > not for the calling process, while clone(2) CLONE_VM
>> specifies
>> > the creation of a new thread in the same process.
>>
>> Hmm. How about this.
>>
>> The point here is that unshare(2) and setns(2) change the PID
>> namespace that will be used by in all subsequent calls to
>> clone
>> and fork by the caller, but not for the calling process, and
>> that all threads in a process must share the same PID
>> namespace. Which makes a subsequent clone(2) CLONE_VM
>> specify the creation of a new thread in the a different PID
>> namespace but in the same process which is impossible.
>
> CLONE_VM and CLONE_NEWPID are incompatible because all threads of the
> same process must be in the same PID namespace. Since unshare(2) and
> setns(2) change the PID namespace for subsequent calls to clone(2),
> those subsequent calls cannot create new threads (unless you setns(2)
> back to the original namespace first).
>
> That last bit's a guess. :)

Good wording thank you, and the last bit is right. You can restore
the pid namespace with setns(2), and that will allow thread and process
creation creation again.

Eric



\
 
 \ /
  Last update: 2013-03-06 04:01    [W:0.075 / U:3.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site