summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-07-07 17:57:27 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-07 18:23:51 -0700
commitac0811538b40bb92d339d22364026ed91dfdd147 (patch)
tree6129b15ee8219343244c3dc8efa1a9ea7b51531d
parented42c879b7b1463aa7a15fdbbeb2b1914d60be8a (diff)
downloadlinux-3.10-ac0811538b40bb92d339d22364026ed91dfdd147.tar.gz
linux-3.10-ac0811538b40bb92d339d22364026ed91dfdd147.tar.bz2
linux-3.10-ac0811538b40bb92d339d22364026ed91dfdd147.zip
[PATCH] namespace.c: fix mnt_namespace zeroing for expired mounts
This patch clears mnt_namespace in an expired mount. If mnt_namespace is not cleared, it's possible to attach a new mount to the already detached mount, because check_mnt() can return true. The effect is a resource leak, since the resulting tree will never be freed. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Acked-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/namespace.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index 2b4635e43ae..7fd56eeb21b 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -847,6 +847,7 @@ static void expire_mount(struct vfsmount *mnt, struct list_head *mounts)
/* delete from the namespace */
list_del_init(&mnt->mnt_list);
+ mnt->mnt_namespace = NULL;
detach_mnt(mnt, &old_nd);
spin_unlock(&vfsmount_lock);
path_release(&old_nd);