Re: [PATCH] cifs: open_cached_dir(): add FILE_READ_EA to desired access

From: Steve French
Date: Thu Mar 14 2024 - 00:15:50 EST


Tentatively merged into cifs-2.6.git for-next pending additional review/testing

Let me know if any updates to this

On Fri, Mar 1, 2024 at 8:54 AM Eugene Korenevsky
<ekorenevsky@xxxxxxxxxxxxx> wrote:
>
> 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).
>
> BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=218543
> Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxxxxxx>
> ---
> fs/smb/client/cached_dir.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> 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 @@ int open_cached_dir(unsigned int xid, struct cifs_tcon *tcon,
> .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),
> --
> 2.30.2
>
>


--
Thanks,

Steve