]> git.hungrycats.org Git - linux/commitdiff
eCryptfs: Remove extra d_delete in ecryptfs_rmdir
authorTyler Hicks <tyhicks@linux.vnet.ibm.com>
Tue, 12 Apr 2011 16:21:36 +0000 (11:21 -0500)
committerWilly Tarreau <w@1wt.eu>
Sat, 17 Mar 2012 13:03:56 +0000 (14:03 +0100)
commit 35ffa948b2f7bdf79e488cd496232935d095087a upstream.

vfs_rmdir() already calls d_delete() on the lower dentry. That was being
duplicated in ecryptfs_rmdir() and caused a NULL pointer dereference
when NFSv3 was the lower filesystem.

BugLink: http://bugs.launchpad.net/bugs/723518
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
Signed-off-by: Colin King <colin.king@canonical.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
fs/ecryptfs/inode.c

index 30f9a5155e7496c5e0ecc115b54134fa4ce5f2c5..086a2424d18edc18da46f18130cda435667001d8 100644 (file)
@@ -539,8 +539,6 @@ static int ecryptfs_rmdir(struct inode *dir, struct dentry *dentry)
        dget(lower_dentry);
        rc = vfs_rmdir(lower_dir_dentry->d_inode, lower_dentry);
        dput(lower_dentry);
-       if (!rc)
-               d_delete(lower_dentry);
        fsstack_copy_attr_times(dir, lower_dir_dentry->d_inode);
        dir->i_nlink = lower_dir_dentry->d_inode->i_nlink;
        unlock_dir(lower_dir_dentry);