diff options
author | Pali Rohár <pali@kernel.org> | 2024-10-05 14:59:21 +0200 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2025-04-01 04:58:05 -0500 |
commit | b07687edee99b9e53465fbd7f24406616f67070e (patch) | |
tree | bc93e7eca35090609d9ae349404b19c1f66f3f7a /net/lapb/lapb_timer.c | |
parent | e255612b5ed9f179abe8196df7c2ba09dd227900 (diff) | |
download | linux-b07687edee99b9e53465fbd7f24406616f67070e.tar.gz linux-b07687edee99b9e53465fbd7f24406616f67070e.tar.bz2 linux-b07687edee99b9e53465fbd7f24406616f67070e.zip |
cifs: Improve SMB2+ stat() to work also without FILE_READ_ATTRIBUTES
If SMB2_OP_QUERY_INFO (called when POSIX extensions are not used) failed
with STATUS_ACCESS_DENIED then it means that caller does not have
permission to open the path with FILE_READ_ATTRIBUTES access and therefore
cannot issue SMB2_OP_QUERY_INFO command.
This will result in the -EACCES error from stat() sycall.
There is an alternative way how to query limited information about path but
still suitable for stat() syscall. SMB2 OPEN/CREATE operation returns in
its successful response subset of query information.
So try to open the path without FILE_READ_ATTRIBUTES but with
MAXIMUM_ALLOWED access which will grant the maximum possible access to the
file and the response will contain required query information for stat()
syscall.
This will improve smb2_query_path_info() to query also files which do not
grant FILE_READ_ATTRIBUTES access to caller.
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions