aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ecryptfs
diff options
context:
space:
mode:
authorMichael Halcrow <mhalcrow@us.ibm.com>2006-11-16 04:19:16 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-11-16 14:43:37 -0500
commita9083081b56800691e79d541638fd2fc6366db0f (patch)
tree200817d262a0d0b82243a471e78b7ab31b4526d1 /fs/ecryptfs
parent3b9c10dc59eaaef23e5a47110c20fb554f7dba28 (diff)
[PATCH] eCryptfs: dput() lower d_parent on rename
On rename, for both the old and new lower dentry objects, eCryptfs is missing a dput on the lower parent directory dentry. This patch will prevent the BUG() at fs/dcache.c:613 from being hit after renaming a file inside eCryptfs and then doing a umount 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')
-rw-r--r--fs/ecryptfs/inode.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
index ff4865d24f0f..ebec8cfc189b 100644
--- a/fs/ecryptfs/inode.c
+++ b/fs/ecryptfs/inode.c
@@ -630,6 +630,8 @@ ecryptfs_rename(struct inode *old_dir, struct dentry *old_dentry,
630 ecryptfs_copy_attr_all(old_dir, lower_old_dir_dentry->d_inode); 630 ecryptfs_copy_attr_all(old_dir, lower_old_dir_dentry->d_inode);
631out_lock: 631out_lock:
632 unlock_rename(lower_old_dir_dentry, lower_new_dir_dentry); 632 unlock_rename(lower_old_dir_dentry, lower_new_dir_dentry);
633 dput(lower_new_dentry->d_parent);
634 dput(lower_old_dentry->d_parent);
633 dput(lower_new_dentry); 635 dput(lower_new_dentry);
634 dput(lower_old_dentry); 636 dput(lower_old_dentry);
635 return rc; 637 return rc;