diff options
author | Michael Halcrow <mhalcrow@us.ibm.com> | 2006-10-30 22:07:20 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-31 08:07:01 -0800 |
commit | 45ec4ababe999cb95f9c0cad03b2689cb0b77a2b (patch) | |
tree | 8d2ff3c5c356539bc87777948822741ca488ea6b /fs/ecryptfs/dentry.c | |
parent | 316bb95e8ed0ddcd767e8aa54264b6c6190f150c (diff) | |
download | op-kernel-dev-45ec4ababe999cb95f9c0cad03b2689cb0b77a2b.zip op-kernel-dev-45ec4ababe999cb95f9c0cad03b2689cb0b77a2b.tar.gz |
[PATCH] eCryptfs: Fix handling of lower d_count
Fix the use of dget/dput calls to balance out on the lower filesystem.
Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/ecryptfs/dentry.c')
-rw-r--r-- | fs/ecryptfs/dentry.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/ecryptfs/dentry.c b/fs/ecryptfs/dentry.c index f0d2a43..0b9992a 100644 --- a/fs/ecryptfs/dentry.c +++ b/fs/ecryptfs/dentry.c @@ -24,6 +24,7 @@ #include <linux/dcache.h> #include <linux/namei.h> +#include <linux/mount.h> #include "ecryptfs_kernel.h" /** @@ -76,8 +77,13 @@ static void ecryptfs_d_release(struct dentry *dentry) if (ecryptfs_dentry_to_private(dentry)) kmem_cache_free(ecryptfs_dentry_info_cache, ecryptfs_dentry_to_private(dentry)); - if (lower_dentry) + if (lower_dentry) { + struct vfsmount *lower_mnt = + ecryptfs_dentry_to_lower_mnt(dentry); + + mntput(lower_mnt); dput(lower_dentry); + } return; } |