]> 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:40:02 +0000 (14:40 +0200)
commit17e53a15e64b65623b8f2b1185d27d7b1cbf69ab
tree159175409e71ea30fecac9aae61e0f330e19b47b
parent8696f0e4f6d908f3ace61920a291070b63419419
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