mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-25 08:02:56 +00:00
[PATCH] add child reaper to pid_namespace
Add a per pid_namespace child-reaper. This is needed so processes are reaped within the same pid space and do not spill over to the parent pid space. Its also needed so containers preserve existing semantic that pid == 1 would reap orphaned children. This is based on Eric Biederman's patch: http://lkml.org/lkml/2006/2/6/285 Signed-off-by: Sukadev Bhattiprolu <sukadev@us.ibm.com> Signed-off-by: Cedric Le Goater <clg@fr.ibm.com> Cc: Kirill Korotaev <dev@openvz.org> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: Herbert Poetzl <herbert@13thfloor.at> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
6cc1b22a4a
commit
84d737866e
8 changed files with 40 additions and 19 deletions
|
@ -19,6 +19,7 @@ struct pid_namespace {
|
|||
struct kref kref;
|
||||
struct pidmap pidmap[PIDMAP_ENTRIES];
|
||||
int last_pid;
|
||||
struct task_struct *child_reaper;
|
||||
};
|
||||
|
||||
extern struct pid_namespace init_pid_ns;
|
||||
|
@ -36,4 +37,9 @@ static inline void put_pid_ns(struct pid_namespace *ns)
|
|||
kref_put(&ns->kref, free_pid_ns);
|
||||
}
|
||||
|
||||
static inline struct task_struct *child_reaper(struct task_struct *tsk)
|
||||
{
|
||||
return tsk->nsproxy->pid_ns->child_reaper;
|
||||
}
|
||||
|
||||
#endif /* _LINUX_PID_NS_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue