diff options
author | Eugene Korenevsky <ekorenevsky@astralinux.ru> | 2024-03-01 15:53:44 +0100 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2024-03-14 19:54:27 +0100 |
commit | f1b8224b4e6ed59e7e6f5c548673c67410098d8d (patch) | |
tree | 79a78f6b2af4e15942f9549997c3985ecac6c4a5 /fs | |
parent | cifs: reduce warning log level for server not advertising interfaces (diff) | |
download | linux-f1b8224b4e6ed59e7e6f5c548673c67410098d8d.tar.xz linux-f1b8224b4e6ed59e7e6f5c548673c67410098d8d.zip |
cifs: open_cached_dir(): add FILE_READ_EA to desired access
Since smb2_query_eas() reads EA and uses cached directory,
open_cached_dir() should request FILE_READ_EA access.
Otherwise listxattr() and getxattr() will fail with EACCES
(0xc0000022 STATUS_ACCESS_DENIED SMB status).
Link: https://bugzilla.kernel.org/show_bug.cgi?id=218543
Cc: stable@vger.kernel.org
Signed-off-by: Eugene Korenevsky <ekorenevsky@astralinux.ru>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/smb/client/cached_dir.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/smb/client/cached_dir.c b/fs/smb/client/cached_dir.c index 3de5047a7ff9..a0017724d523 100644 --- a/fs/smb/client/cached_dir.c +++ b/fs/smb/client/cached_dir.c @@ -239,7 +239,8 @@ replay_again: .tcon = tcon, .path = path, .create_options = cifs_create_options(cifs_sb, CREATE_NOT_FILE), - .desired_access = FILE_READ_DATA | FILE_READ_ATTRIBUTES, + .desired_access = FILE_READ_DATA | FILE_READ_ATTRIBUTES | + FILE_READ_EA, .disposition = FILE_OPEN, .fid = pfid, .replay = !!(retries), |