OpenVZ Forum


Home » Mailing lists » Devel » [PATCH] allow a task to join a pid namespace
Re: [PATCH] allow a task to join a pid namespace [message #46709 is a reply to message #46705] Tue, 05 June 2012 11:33 Go to previous messageGo to previous message
Glauber Costa is currently offline  Glauber Costa
Messages: 916
Registered: October 2011
Senior Member
On 06/05/2012 01:36 PM, Daniel Lezcano wrote:
> On 06/04/2012 03:33 PM, Glauber Costa wrote:
>> Currently, it is possible for a process to join existing
>> net, uts and ipc namespaces. This patch allows a process to join an
>> existing pid namespace as well.
>>
>> For that to remain sane, some restrictions are made in the calling process:
>>
>> * It needs to be in the parent namespace of the namespace it wants to jump to
>> * It needs to sit in its own session and group as a leader.
>>
>> The rationale for that, is that people want to trigger actions in a Container
>> from the outside. For instance, mainstream linux recently gained the ability
>> to safely reboot a container. It would be desirable, however, that this
>> action is triggered from an admin in the outside world, very much like a
>> power switch in a physical box.
>>
>> This would also allow us to connect a console to the container, provide a
>> repair mode for setups without networking (or with a broken one), etc.
>
> Hi Glauber,
>
> I am in favor of this patch but I think the pidns support won't be
> complete and some corner-cases are not handled.
>
> May be you can look at Eric's patchset [1] where, IMO, everything is
> taken into account. Some of the patches may be already upstream.
>
> Thanks
> -- Daniel
>

Daniel,

Please let me know what you think of the attached patch. It is ontop of
Eric's tree that you pointed me to, but I am not really using any of its
functionality, so this would be equally doable in current mainline
kernel - but I wanted to make sure it integrates well with what Eric is
doing as well.

It is a bit wasteful space-wise, but this approach pretty much
guarantees we don't need to update pointers anywhere - therefore,
totally lock-free. pid->level is only updated after
switch_task_namespaces(), so every call before that will see correct
information up to the previous level.
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: [RFC] connectat() and bindat() system calls
Next Topic: [PATCH 0/4] kmem memcg proposed core changes
Goto Forum:
  


Current Time: Sat Aug 03 00:20:30 GMT 2024

Total time taken to generate the page: 0.03144 seconds