Skip to content
Snippets Groups Projects
Commit 8044ee8e authored by Hyunchul Lee's avatar Hyunchul Lee Committed by Steve French
Browse files

cifsd: remove useless error handling in ksmbd_vfs_read


dentry->d_inode never happen to be NULL if we hold the dentry.

Signed-off-by: default avatarHyunchul Lee <hyc.lee@gmail.com>
Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent d2f72ed8
Branches
Tags
No related merge requests found
...@@ -550,7 +550,7 @@ int ksmbd_vfs_fsync(struct ksmbd_work *work, u64 fid, u64 p_id) ...@@ -550,7 +550,7 @@ int ksmbd_vfs_fsync(struct ksmbd_work *work, u64 fid, u64 p_id)
int ksmbd_vfs_remove_file(struct ksmbd_work *work, char *name) int ksmbd_vfs_remove_file(struct ksmbd_work *work, char *name)
{ {
struct path parent; struct path parent;
struct dentry *dir, *dentry; struct dentry *dentry;
char *last; char *last;
int err; int err;
...@@ -569,12 +569,8 @@ int ksmbd_vfs_remove_file(struct ksmbd_work *work, char *name) ...@@ -569,12 +569,8 @@ int ksmbd_vfs_remove_file(struct ksmbd_work *work, char *name)
return err; return err;
} }
dir = parent.dentry; inode_lock_nested(d_inode(parent.dentry), I_MUTEX_PARENT);
if (!d_inode(dir)) dentry = lookup_one_len(last, parent.dentry, strlen(last));
goto out;
inode_lock_nested(d_inode(dir), I_MUTEX_PARENT);
dentry = lookup_one_len(last, dir, strlen(last));
if (IS_ERR(dentry)) { if (IS_ERR(dentry)) {
err = PTR_ERR(dentry); err = PTR_ERR(dentry);
ksmbd_debug(VFS, "%s: lookup failed, err %d\n", last, err); ksmbd_debug(VFS, "%s: lookup failed, err %d\n", last, err);
...@@ -588,12 +584,12 @@ int ksmbd_vfs_remove_file(struct ksmbd_work *work, char *name) ...@@ -588,12 +584,12 @@ int ksmbd_vfs_remove_file(struct ksmbd_work *work, char *name)
} }
if (S_ISDIR(d_inode(dentry)->i_mode)) { if (S_ISDIR(d_inode(dentry)->i_mode)) {
err = vfs_rmdir(&init_user_ns, d_inode(dir), dentry); err = vfs_rmdir(&init_user_ns, d_inode(parent.dentry), dentry);
if (err && err != -ENOTEMPTY) if (err && err != -ENOTEMPTY)
ksmbd_debug(VFS, "%s: rmdir failed, err %d\n", name, ksmbd_debug(VFS, "%s: rmdir failed, err %d\n", name,
err); err);
} else { } else {
err = vfs_unlink(&init_user_ns, d_inode(dir), dentry, NULL); err = vfs_unlink(&init_user_ns, d_inode(parent.dentry), dentry, NULL);
if (err) if (err)
ksmbd_debug(VFS, "%s: unlink failed, err %d\n", name, ksmbd_debug(VFS, "%s: unlink failed, err %d\n", name,
err); err);
...@@ -601,8 +597,7 @@ int ksmbd_vfs_remove_file(struct ksmbd_work *work, char *name) ...@@ -601,8 +597,7 @@ int ksmbd_vfs_remove_file(struct ksmbd_work *work, char *name)
dput(dentry); dput(dentry);
out_err: out_err:
inode_unlock(d_inode(dir)); inode_unlock(d_inode(parent.dentry));
out:
rollback_path_modification(last); rollback_path_modification(last);
path_put(&parent); path_put(&parent);
ksmbd_revert_fsids(work); ksmbd_revert_fsids(work);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment