aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ecryptfs/dentry.c
diff options
context:
space:
mode:
authorMichael Halcrow <mhalcrow@us.ibm.com>2006-10-30 22:07:20 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-31 08:07:01 -0800
commit45ec4ababe999cb95f9c0cad03b2689cb0b77a2b (patch)
tree8d2ff3c5c356539bc87777948822741ca488ea6b /fs/ecryptfs/dentry.c
parent316bb95e8ed0ddcd767e8aa54264b6c6190f150c (diff)
downloadkernel_samsung_smdk4412-45ec4ababe999cb95f9c0cad03b2689cb0b77a2b.zip
kernel_samsung_smdk4412-45ec4ababe999cb95f9c0cad03b2689cb0b77a2b.tar.gz
kernel_samsung_smdk4412-45ec4ababe999cb95f9c0cad03b2689cb0b77a2b.tar.bz2
[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.c8
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;
}