exit_task_namespaces() has replaced the former exit_namespace(). It invalidates task->nsproxy and associated namespaces. This is an issue for the (futur) pid namespace which is required to be valid in exit_notify(). This patch moves exit_task_namespaces() after exit_notify() to keep nsproxy valid. Signed-off-by: Cedric Le Goater <clg at fr.ibm.com> --- kernel/exit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: 2.6.18-rc7-mm1/kernel/exit.c =================================================================== --- 2.6.18-rc7-mm1.orig/kernel/exit.c +++ 2.6.18-rc7-mm1/kernel/exit.c @@ -922,7 +922,6 @@ fastcall NORET_TYPE void do_exit(long co exit_sem(tsk); __exit_files(tsk); __exit_fs(tsk); - exit_task_namespaces(tsk); exit_thread(); cpuset_exit(tsk); exit_keys(tsk); @@ -937,6 +936,7 @@ fastcall NORET_TYPE void do_exit(long co tsk->exit_code = code; proc_exit_connector(tsk); exit_notify(tsk); + exit_task_namespaces(tsk); #ifdef CONFIG_NUMA mpol_free(tsk->mempolicy); tsk->mempolicy = NULL;