• S
    pid namespaces: define and use task_active_pid_ns() wrapper · 2894d650
    Sukadev Bhattiprolu 提交于
    With multiple pid namespaces, a process is known by some pid_t in every
    ancestor pid namespace.  Every time the process forks, the child process also
    gets a pid_t in every ancestor pid namespace.
    
    While a process is visible in >=1 pid namespaces, it can see pid_t's in only
    one pid namespace.  We call this pid namespace it's "active pid namespace",
    and it is always the youngest pid namespace in which the process is known.
    
    This patch defines and uses a wrapper to find the active pid namespace of a
    process.  The implementation of the wrapper will be changed in when support
    for multiple pid namespaces are added.
    
    Changelog:
    	2.6.22-rc4-mm2-pidns1:
    	- [Pavel Emelianov, Alexey Dobriyan] Back out the change to use
    	  task_active_pid_ns() in child_reaper() since task->nsproxy
    	  can be NULL during task exit (so child_reaper() continues to
    	  use init_pid_ns).
    
    	  to implement child_reaper() since init_pid_ns.child_reaper to
    	  implement child_reaper() since tsk->nsproxy can be NULL during exit.
    
    	2.6.21-rc6-mm1:
    	- Rename task_pid_ns() to task_active_pid_ns() to reflect that a
    	  process can have multiple pid namespaces.
    Signed-off-by: NSukadev Bhattiprolu <sukadev@us.ibm.com>
    Acked-by: NPavel Emelianov <xemul@openvz.org>
    Cc: Eric W. Biederman <ebiederm@xmission.com>
    Cc: Cedric Le Goater <clg@fr.ibm.com>
    Cc: Dave Hansen <haveblue@us.ibm.com>
    Cc: Serge Hallyn <serue@us.ibm.com>
    Cc: Herbert Poetzel <herbert@13thfloor.at>
    Cc: Kirill Korotaev <dev@sw.ru>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    2894d650
pid.c 11.5 KB