Re: Documentation for CLONE_NEWPID

Michael Kerrisk
2008-11-25T15:09:27Z

Hi Serge,

[...]

>> +PID namespaces form a hierarchy.
>> +When a PID new namespace is created,
>> +the PIDs of the processes in that namespace are visible
>
> The processes in that namespace are visible, but by different
> pids. So saying that the pids are visible in the parent
> pidns isn't quite right.

Yes, good point. I made that last line:

"... the processes in that namespace are visible..."

>> +in the PID namespace of the process that created the new namespace;
>> +analogously, if the parent PID namespace is itself
>> +the child of another PID namespace,
>> +then PIDs of the child and parent PID namespaces will both be
>
> Again, the processes, not pids, are visible.

Yep. Fixed.

[...]

>> +After creating the new namespace,
>> +it is useful for the child to change its root directory
>> +and mount a new procfs instance at
>> +.I /proc
>> +so that tools such as
>> +.BR ps (1)
>> +work correctly.
>
> Probably not worth mentioning here, but if it has done
> CLONE_NEWNS then it doesn't need to change its root, it
> can just mount a new proc instance over /proc.

Actually, I think it is worth mentioning. When I wrote the text, I
suspected that the point you make here was true, but I wasn't 100%
sure. Therefore, I think it worth adding a sentence like your comment
here, and I've done so.

[...]

> I assume you've considered the pros and cons of mentioning
> signal semantics with respect to init tasks of child pid namespaces,
> and decided it's not worth mentioning yet as the semantics are not
> yet finalized?
>
> The goal is to treat the process as a system-wide init with respect
> to signals coming from its own namespace, and treat it as an ordinary
> task for signals coming from its ancestor namespaces. But as you've
> probably read, the implementation may result in some unfortunate
> side-effects regarding blocked signals etc.

No I haven't considered this at all. Could you provide some pointers
to relevant discussions on this?

Cheers,

Michael

--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git
man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html