Files
linux/fs
Paulo Alcantara 2c55d67184 smb: client: fix chmod(2) regression with ATTR_READONLY
[ Upstream commit 654292a0b264e9b8c51b98394146218a21612aa1 ]

When the user sets a file or directory as read-only (e.g. ~S_IWUGO),
the client will set the ATTR_READONLY attribute by sending an
SMB2_SET_INFO request to the server in cifs_setattr_{,nounix}(), but
cifsInodeInfo::cifsAttrs will be left unchanged as the client will
only update the new file attributes in the next call to
{smb311_posix,cifs}_get_inode_info() with the new metadata filled in
@data parameter.

Commit a18280e7fd ("smb: cilent: set reparse mount points as
automounts") mistakenly removed the @data NULL check when calling
is_inode_cache_good(), which broke the above case as the new
ATTR_READONLY attribute would end up not being updated on files with a
read lease.

Fix this by updating the inode whenever we have cached metadata in
@data parameter.

Reported-by: Horst Reiterer <horst.reiterer@fabasoft.com>
Closes: https://lore.kernel.org/r/85a16504e09147a195ac0aac1c801280@fabasoft.com
Fixes: a18280e7fd ("smb: cilent: set reparse mount points as automounts")
Cc: stable@vger.kernel.org
Signed-off-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-03-13 12:58:20 +01:00
..
2024-08-19 06:04:25 +02:00
2025-01-17 13:36:11 +01:00
2024-10-22 15:46:20 +02:00
2025-01-23 17:21:13 +01:00
2024-12-14 20:00:21 +01:00
2023-08-31 12:07:34 -05:00
2025-01-09 13:31:46 +01:00
2025-02-08 09:51:42 +01:00
2024-08-19 06:04:25 +02:00
2024-02-23 09:25:13 +01:00
2023-05-17 09:16:59 +02:00
2023-08-21 13:46:25 -07:00
2023-08-14 18:48:02 +02:00
2023-08-19 12:12:12 +02:00
2023-08-02 09:13:09 -06:00
2023-01-19 09:24:30 +01:00
2023-07-13 10:28:04 +02:00
2023-05-19 04:30:22 +02:00
2023-05-19 04:30:22 +02:00
2023-08-15 08:32:45 +02:00
2024-08-19 06:04:25 +02:00