From: Anastasia Belova <abelova@astralinux.ru>
Date: Wed, 16 Nov 2022 14:10:27 +0000 (+0300)
Subject: cifs: add check for returning value of SMB2_set_info_init
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2ab2494162440b9edf4a244e23ec75b47d6f8b59;p=linux.git

cifs: add check for returning value of SMB2_set_info_init

[ Upstream commit a51e5d293dd1c2e7bf6f7be788466cd9b5d280fb ]

If the returning value of SMB2_set_info_init is an error-value,
exit the function.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 0967e5457954 ("cifs: use a compound for setting an xattr")

Signed-off-by: Anastasia Belova <abelova@astralinux.ru>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 30b2efafa2dee..53e87466e3b2c 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -1361,6 +1361,8 @@ smb2_set_ea(const unsigned int xid, struct cifs_tcon *tcon,
 				COMPOUND_FID, current->tgid,
 				FILE_FULL_EA_INFORMATION,
 				SMB2_O_INFO_FILE, 0, data, size);
+	if (rc)
+		goto sea_exit;
 	smb2_set_next_command(tcon, &rqst[1]);
 	smb2_set_related(&rqst[1]);