]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
cifs: Add fallback for SMB2 CREATE without FILE_READ_ATTRIBUTES
authorPali Rohár <pali@kernel.org>
Mon, 9 Dec 2024 19:44:23 +0000 (20:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2025 12:41:53 +0000 (14:41 +0200)
commit18066188eb90cc0c798f3370a8078a79ddb73f70
treef14758559345504cef259b7420fdfc01e469eeef
parentf08641cd2152d3a341678112b247e61fc1794926
cifs: Add fallback for SMB2 CREATE without FILE_READ_ATTRIBUTES

[ Upstream commit e255612b5ed9f179abe8196df7c2ba09dd227900 ]

Some operations, like WRITE, does not require FILE_READ_ATTRIBUTES access.

So when FILE_READ_ATTRIBUTES is not explicitly requested for
smb2_open_file() then first try to do SMB2 CREATE with FILE_READ_ATTRIBUTES
access (like it was before) and then fallback to SMB2 CREATE without
FILE_READ_ATTRIBUTES access (less common case).

This change allows to complete WRITE operation to a file when it does not
grant FILE_READ_ATTRIBUTES permission and its parent directory does not
grant READ_DATA permission (parent directory READ_DATA is implicit grant of
child FILE_READ_ATTRIBUTES permission).

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/smb/client/smb2file.c