diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2021-01-30 01:32:40 +0300 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2021-03-08 18:24:10 +0300 |
commit | 4313e3523373f6b313d4218b51418f53475bcce5 (patch) | |
tree | 3c17243fc2f6ce7de7ca599b2a705ba595dcff65 | |
parent | a38fd8748464831584a19438cbb3082b5a2dab15 (diff) | |
download | linux-4313e3523373f6b313d4218b51418f53475bcce5.tar.xz |
ecryptfs: get rid of pointless dget/dput in ->symlink() and ->link()
calls in ->unlink(), ->rmdir() and ->rename() make sense - we want
to prevent the underlying dentries going negative there. In
->symlink() and ->link() they are absolutely pointless.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/ecryptfs/inode.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 18e9285fbb4c..689aa493e587 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c @@ -437,8 +437,6 @@ static int ecryptfs_link(struct dentry *old_dentry, struct inode *dir, file_size_save = i_size_read(d_inode(old_dentry)); lower_old_dentry = ecryptfs_dentry_to_lower(old_dentry); lower_new_dentry = ecryptfs_dentry_to_lower(new_dentry); - dget(lower_old_dentry); - dget(lower_new_dentry); lower_dir_dentry = lock_parent(lower_new_dentry); rc = vfs_link(lower_old_dentry, &init_user_ns, d_inode(lower_dir_dentry), lower_new_dentry, NULL); @@ -454,8 +452,6 @@ static int ecryptfs_link(struct dentry *old_dentry, struct inode *dir, i_size_write(d_inode(new_dentry), file_size_save); out_lock: unlock_dir(lower_dir_dentry); - dput(lower_new_dentry); - dput(lower_old_dentry); return rc; } @@ -476,7 +472,6 @@ static int ecryptfs_symlink(struct user_namespace *mnt_userns, struct ecryptfs_mount_crypt_stat *mount_crypt_stat = NULL; lower_dentry = ecryptfs_dentry_to_lower(dentry); - dget(lower_dentry); lower_dir_dentry = lock_parent(lower_dentry); mount_crypt_stat = &ecryptfs_superblock_to_private( dir->i_sb)->mount_crypt_stat; @@ -498,7 +493,6 @@ static int ecryptfs_symlink(struct user_namespace *mnt_userns, fsstack_copy_inode_size(dir, d_inode(lower_dir_dentry)); out_lock: unlock_dir(lower_dir_dentry); - dput(lower_dentry); if (d_really_is_negative(dentry)) d_drop(dentry); return rc; |