Commit fee0fb1f authored by Zhang Xiaoxu's avatar Zhang Xiaoxu Committed by Steve French
Browse files

cifs: Fix xid leak in cifs_create()



If the cifs already shutdown, we should free the xid before return,
otherwise, the xid will be leaked.

Fixes: 087f757b ("cifs: add shutdown support")
Reviewed-by: default avatarPaulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: default avatarZhang Xiaoxu <zhangxiaoxu5@huawei.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 9abf2313
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -543,8 +543,10 @@ int cifs_create(struct user_namespace *mnt_userns, struct inode *inode,
	cifs_dbg(FYI, "cifs_create parent inode = 0x%p name is: %pd and dentry = 0x%p\n",
		 inode, direntry, direntry);

	if (unlikely(cifs_forced_shutdown(CIFS_SB(inode->i_sb))))
		return -EIO;
	if (unlikely(cifs_forced_shutdown(CIFS_SB(inode->i_sb)))) {
		rc = -EIO;
		goto out_free_xid;
	}

	tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb));
	rc = PTR_ERR(tlink);