diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2005-07-07 17:57:27 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-07 18:23:51 -0700 |
commit | ac0811538b40bb92d339d22364026ed91dfdd147 (patch) | |
tree | 6129b15ee8219343244c3dc8efa1a9ea7b51531d /fs/namespace.c | |
parent | ed42c879b7b1463aa7a15fdbbeb2b1914d60be8a (diff) | |
download | lwn-ac0811538b40bb92d339d22364026ed91dfdd147.tar.gz lwn-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>
Diffstat (limited to 'fs/namespace.c')
-rw-r--r-- | fs/namespace.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index 2b4635e43ae8..7fd56eeb21bf 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); |