diff options
| author | Paulo Alcantara <[email protected]> | 2025-02-16 21:02:47 +0000 |
|---|---|---|
| committer | Steve French <[email protected]> | 2025-02-16 22:29:52 +0000 |
| commit | 654292a0b264e9b8c51b98394146218a21612aa1 (patch) | |
| tree | a4176cea31dd5269bfedf6c93b587c0329bfc7de /arch/powerpc/lib/code-patching.c | |
| parent | Linux 6.14-rc3 (diff) | |
| download | kernel-654292a0b264e9b8c51b98394146218a21612aa1.tar.gz kernel-654292a0b264e9b8c51b98394146218a21612aa1.zip | |
smb: client: fix chmod(2) regression with ATTR_READONLY
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 a18280e7fdea ("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 <[email protected]>
Closes: https://lore.kernel.org/r/[email protected]
Fixes: a18280e7fdea ("smb: cilent: set reparse mount points as automounts")
Cc: [email protected]
Signed-off-by: Paulo Alcantara (Red Hat) <[email protected]>
Signed-off-by: Steve French <[email protected]>
Diffstat (limited to 'arch/powerpc/lib/code-patching.c')
0 files changed, 0 insertions, 0 deletions
