diff options
author | Michael Halcrow <mhalcrow@us.ibm.com> | 2006-10-31 01:07:20 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-31 11:07:01 -0500 |
commit | 45ec4ababe999cb95f9c0cad03b2689cb0b77a2b (patch) | |
tree | 8d2ff3c5c356539bc87777948822741ca488ea6b /fs/ecryptfs/dentry.c | |
parent | 316bb95e8ed0ddcd767e8aa54264b6c6190f150c (diff) |
[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 f0d2a433242b..0b9992ab990f 100644 --- a/fs/ecryptfs/dentry.c +++ b/fs/ecryptfs/dentry.c | |||
@@ -24,6 +24,7 @@ | |||
24 | 24 | ||
25 | #include <linux/dcache.h> | 25 | #include <linux/dcache.h> |
26 | #include <linux/namei.h> | 26 | #include <linux/namei.h> |
27 | #include <linux/mount.h> | ||
27 | #include "ecryptfs_kernel.h" | 28 | #include "ecryptfs_kernel.h" |
28 | 29 | ||
29 | /** | 30 | /** |
@@ -76,8 +77,13 @@ static void ecryptfs_d_release(struct dentry *dentry) | |||
76 | if (ecryptfs_dentry_to_private(dentry)) | 77 | if (ecryptfs_dentry_to_private(dentry)) |
77 | kmem_cache_free(ecryptfs_dentry_info_cache, | 78 | kmem_cache_free(ecryptfs_dentry_info_cache, |
78 | ecryptfs_dentry_to_private(dentry)); | 79 | ecryptfs_dentry_to_private(dentry)); |
79 | if (lower_dentry) | 80 | if (lower_dentry) { |
81 | struct vfsmount *lower_mnt = | ||
82 | ecryptfs_dentry_to_lower_mnt(dentry); | ||
83 | |||
84 | mntput(lower_mnt); | ||
80 | dput(lower_dentry); | 85 | dput(lower_dentry); |
86 | } | ||
81 | return; | 87 | return; |
82 | } | 88 | } |
83 | 89 | ||