Messages in this thread | | | Date | Tue, 26 Aug 2008 17:35:24 -0700 | From | sukadev@us ... | Subject | Re: [PATCH 2/4] pid_ns: (BUG 11391) change ->child_reaper when init->group_leader exits |
| |
sukadev@us.ibm.com [sukadev@us.ibm.com] wrote: | I was able to repro the problem without the patchset and could not | reproduce with the patchset. But just had a quick question while | reviewing the patches. | | Oleg Nesterov [oleg@tv-sign.ru] wrote: | | We don't change pid_ns->child_reaper when the main thread of the | | subnamespace init exits. As Robert Rex <robert.rex@exasol.com> | | pointed out this is wrong. | | | | Yes, the re-parenting itself works correctly, but if the reparented | | task exits it needs ->parent->nsproxy->pid_ns in do_notify_parent(), | | If the task was reparented, then with patch 1/4 its parent would be | the global init (init_pid_ns.child_reaper) right ? | | | and if the main thread is zombie its ->nsproxy was already cleared | | by exit_task_namespaces(). | | If above is true, then even if the main thread's nsproxy is NULL, does | it affect the reparented task ?
never mind. I see it now. The group_dead check in current code is not sufficient (and the zap_pid_ns() may not have been called when main thread is exiting).
| |