summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorBjörn Steinbrink <B.Steinbrink@gmx.de>2006-02-18 18:12:43 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-21 05:27:38 +0100
commit5914811acf36c3ff091f860a6964808f668f27d0 (patch)
tree04317a64fa5e76a13f29de655fe354abd627445d /kernel
parentMerge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/a... (diff)
downloadlinux-5914811acf36c3ff091f860a6964808f668f27d0.tar.xz
linux-5914811acf36c3ff091f860a6964808f668f27d0.zip
[PATCH] kjournald keeps reference to namespace
In daemonize() a new thread gets cleaned up and 'merged' with init_task. The current fs_struct is handled there, but not the current namespace. This adds the namespace part. [ Eric Biederman pointed out the namespace wrappers, and also notes that we can't ever count on using our parents namespace because we already have called exit_fs(), which is the only way to the namespace from a process. ] Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Acked-by: Eric Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/exit.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/exit.c b/kernel/exit.c
index 93cee3671332..531aadca5530 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -360,6 +360,9 @@ void daemonize(const char *name, ...)
fs = init_task.fs;
current->fs = fs;
atomic_inc(&fs->count);
+ exit_namespace(current);
+ current->namespace = init_task.namespace;
+ get_namespace(current->namespace);
exit_files(current);
current->files = init_task.files;
atomic_inc(&current->files->count);