mirror of https://github.com/torvalds/linux.git
ksmbd: fix error code overwriting in smb2_get_info_filesystem()
If client doesn't negotiate with SMB3.1.1 POSIX Extensions,
then proper error code won't be returned due to overwriting.
Return error immediately.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: e2f34481b2 ("cifsd: add server-side procedures for SMB3")
Cc: stable@vger.kernel.org
Signed-off-by: Matvey Kovalev <matvey.kovalev@ispras.ru>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
c20988c217
commit
88daf2f448
|
|
@ -5629,7 +5629,8 @@ static int smb2_get_info_filesystem(struct ksmbd_work *work,
|
||||||
|
|
||||||
if (!work->tcon->posix_extensions) {
|
if (!work->tcon->posix_extensions) {
|
||||||
pr_err("client doesn't negotiate with SMB3.1.1 POSIX Extensions\n");
|
pr_err("client doesn't negotiate with SMB3.1.1 POSIX Extensions\n");
|
||||||
rc = -EOPNOTSUPP;
|
path_put(&path);
|
||||||
|
return -EOPNOTSUPP;
|
||||||
} else {
|
} else {
|
||||||
info = (struct filesystem_posix_info *)(rsp->Buffer);
|
info = (struct filesystem_posix_info *)(rsp->Buffer);
|
||||||
info->OptimalTransferSize = cpu_to_le32(stfs.f_bsize);
|
info->OptimalTransferSize = cpu_to_le32(stfs.f_bsize);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue