| From 35ffa948b2f7bdf79e488cd496232935d095087a Mon Sep 17 00:00:00 2001 |
| From: Tyler Hicks <tyhicks@linux.vnet.ibm.com> |
| Date: Tue, 12 Apr 2011 11:21:36 -0500 |
| Subject: eCryptfs: Remove extra d_delete in ecryptfs_rmdir |
| |
| From: Tyler Hicks <tyhicks@linux.vnet.ibm.com> |
| |
| 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> |
| |
| --- |
| fs/ecryptfs/inode.c | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| --- a/fs/ecryptfs/inode.c |
| +++ b/fs/ecryptfs/inode.c |
| @@ -575,8 +575,6 @@ static int ecryptfs_rmdir(struct inode * |
| 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); |