mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-07 09:55:19 +02:00
ksmbd: override fsids for smb2_query_info()
[ Upstream commit f6bd41280a
]
Sangsoo reported that a DAC denial error occurred when accessing
files through the ksmbd thread. This patch override fsids for
smb2_query_info().
Reported-by: Sangsoo Lee <constant.lee@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
5a199eedfd
commit
78bce66914
|
@ -5601,6 +5601,11 @@ int smb2_query_info(struct ksmbd_work *work)
|
|||
|
||||
ksmbd_debug(SMB, "GOT query info request\n");
|
||||
|
||||
if (ksmbd_override_fsids(work)) {
|
||||
rc = -ENOMEM;
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
switch (req->InfoType) {
|
||||
case SMB2_O_INFO_FILE:
|
||||
ksmbd_debug(SMB, "GOT SMB2_O_INFO_FILE\n");
|
||||
|
@ -5619,6 +5624,7 @@ int smb2_query_info(struct ksmbd_work *work)
|
|||
req->InfoType);
|
||||
rc = -EOPNOTSUPP;
|
||||
}
|
||||
ksmbd_revert_fsids(work);
|
||||
|
||||
if (!rc) {
|
||||
rsp->StructureSize = cpu_to_le16(9);
|
||||
|
@ -5628,6 +5634,7 @@ int smb2_query_info(struct ksmbd_work *work)
|
|||
le32_to_cpu(rsp->OutputBufferLength));
|
||||
}
|
||||
|
||||
err_out:
|
||||
if (rc < 0) {
|
||||
if (rc == -EACCES)
|
||||
rsp->hdr.Status = STATUS_ACCESS_DENIED;
|
||||
|
|
Loading…
Reference in New Issue
Block a user