[patch -mm] namespaces: exit_task_namespaces() invalidates nsproxy

From: Cedric Le Goater
Date: Thu Sep 21 2006 - 12:21:25 EST


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@xxxxxxxxxx>
---
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;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/