Skip to content

Commit 8510a04

Browse files
namjaejeonSteve French
authored andcommitted
ksmbd: increment reference count of parent fp
Add missing increment reference count of parent fp in ksmbd_lookup_fd_inode(). Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com> Signed-off-by: Steve French <stfrench@microsoft.com>
1 parent 50f500b commit 8510a04

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

fs/ksmbd/smb2pdu.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5758,8 +5758,10 @@ static int set_rename_info(struct ksmbd_work *work, struct ksmbd_file *fp,
57585758
if (parent_fp) {
57595759
if (parent_fp->daccess & FILE_DELETE_LE) {
57605760
pr_err("parent dir is opened with delete access\n");
5761+
ksmbd_fd_put(work, parent_fp);
57615762
return -ESHARE;
57625763
}
5764+
ksmbd_fd_put(work, parent_fp);
57635765
}
57645766
next:
57655767
return smb2_rename(work, fp, user_ns, rename_info,

fs/ksmbd/vfs_cache.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,7 @@ struct ksmbd_file *ksmbd_lookup_fd_inode(struct inode *inode)
496496
list_for_each_entry(lfp, &ci->m_fp_list, node) {
497497
if (inode == file_inode(lfp->filp)) {
498498
atomic_dec(&ci->m_count);
499+
lfp = ksmbd_fp_get(lfp);
499500
read_unlock(&ci->m_lock);
500501
return lfp;
501502
}

0 commit comments

Comments
 (0)