From: Tyler Hicks Date: Tue, 12 Apr 2011 16:21:36 +0000 (-0500) Subject: eCryptfs: Remove extra d_delete in ecryptfs_rmdir X-Git-Tag: v2.6.27.62~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c153f95d2e8dd33c3cc8d5432a57194c7bda933;p=thirdparty%2Fkernel%2Fstable.git eCryptfs: Remove extra d_delete in ecryptfs_rmdir 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 Signed-off-by: Colin King Signed-off-by: Tim Gardner Signed-off-by: Greg Kroah-Hartman Signed-off-by: Willy Tarreau --- diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 30f9a5155e749..086a2424d18ed 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c @@ -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);