linux/fs/smb/client
Pali Rohár 281244ab42 cifs: Fix getting and setting SACLs over SMB1
[ Upstream commit 8b19dfb34d ]

SMB1 callback get_cifs_acl_by_fid() currently ignores its last argument and
therefore ignores request for SACL_SECINFO. Fix this issue by correctly
propagating info argument from get_cifs_acl() and get_cifs_acl_by_fid() to
CIFSSMBGetCIFSACL() function and pass SACL_SECINFO when requested.

For accessing SACLs it is needed to open object with SYSTEM_SECURITY
access. Pass this flag when trying to get or set SACLs.

Same logic is in the SMB2+ code path.

This change fixes getting and setting of "system.cifs_ntsd_full" and
"system.smb3_ntsd_full" xattrs over SMB1 as currently it silentely ignored
SACL part of passed xattr buffer.

Fixes: 3970acf7dd ("SMB3: Add support for getting and setting SACLs")
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-02-08 09:58:10 +01:00
..
compress move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
asn1.c smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
cached_dir.c smb: Initialize cfid->tcon before performing network ops 2024-12-05 14:03:08 +01:00
cached_dir.h smb: During unmount, ensure all cached dir instances drop their dentry 2024-12-05 14:03:00 +01:00
cifs_debug.c smb3: mark compression as CONFIG_EXPERIMENTAL and fix missing compression operation 2024-09-15 10:42:44 -05:00
cifs_debug.h smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
cifs_fs_sb.h smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
cifs_ioctl.h smb3: allow dumping session and tcon id to improve stats analysis and debugging 2023-11-10 02:00:30 -06:00
cifs_spnego.c cifs: spnego: add ';' in HOST_KEY_LEN 2023-11-13 16:21:34 -06:00
cifs_spnego.h smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
cifs_spnego_negtokeninit.asn1 smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
cifs_swn.c smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
cifs_swn.h smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
cifs_unicode.c cifs: Fix creating native symlinks pointing to current or parent directory 2024-10-06 22:57:12 -05:00
cifs_unicode.h fs/smb/client: Use common code in client 2023-08-30 08:55:52 -05:00
cifsacl.c cifs: Fix getting and setting SACLs over SMB1 2025-02-08 09:58:10 +01:00
cifsacl.h smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
cifsencrypt.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
cifsfs.c smb: client: destroy cfid_put_wq on module exit 2025-01-09 13:33:46 +01:00
cifsfs.h cifs: update internal version number 2024-09-24 21:54:06 -05:00
cifsglob.h cifs: Fix parsing native symlinks relative to the export 2024-12-05 14:03:07 +01:00
cifspdu.h nine smb3 client fixes 2024-10-04 09:56:05 -07:00
cifsproto.h cifs: Fix getting and setting SACLs over SMB1 2025-02-08 09:58:10 +01:00
cifsroot.c smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
cifssmb.c cifs: Fix getting and setting SACLs over SMB1 2025-02-08 09:58:10 +01:00
compress.c smb/client: Fix logically dead code 2024-10-16 00:30:52 -05:00
compress.h smb: client: compress: LZ77 code improvements cleanup 2024-09-15 10:42:45 -05:00
connect.c smb: client: fix double free of TCP_Server_Info::hostname 2025-01-23 17:22:54 +01:00
dfs.c smb: client: don't try following DFS links in cifs_tree_connect() 2024-12-14 20:04:10 +01:00
dfs.h smb: client: fix DFS interlink failover 2024-09-24 21:51:48 -05:00
dfs_cache.c smb: client: fix DFS interlink failover 2024-09-24 21:51:48 -05:00
dfs_cache.h smb: client: ensure to try all targets when finding nested links 2023-08-20 16:05:50 -05:00
dir.c cifs: Fix caching to try to do open O_WRONLY as rdwr on server 2024-04-02 09:29:55 -05:00
dns_resolve.c smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
dns_resolve.h smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
export.c exportfs: make ->encode_fh() a mandatory method for NFS export 2023-10-28 16:15:15 +02:00
file.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
fs_context.c cifs: unlock on error in smb3_reconfigure() 2024-12-05 14:03:08 +01:00
fs_context.h cifs: during remount, make sure passwords are in sync 2024-12-05 14:03:08 +01:00
fscache.c cifs: Remove some code that's no longer used, part 1 2024-05-01 18:08:21 +01:00
fscache.h cifs: Remove some code that's no longer used, part 1 2024-05-01 18:08:21 +01:00
inode.c cifs: Fix rmdir failure due to ongoing I/O on deleted file 2024-12-19 18:13:16 +01:00
ioctl.c struct fd layout change (and conversion to accessor helpers) 2024-09-23 09:35:36 -07:00
Kconfig smb: client: Deduplicate "select NETFS_SUPPORT" in Kconfig 2025-01-02 10:34:10 +01:00
link.c cifs: Add support for creating SFU symlinks 2024-09-16 20:10:34 -05:00
Makefile smb3: mark compression as CONFIG_EXPERIMENTAL and fix missing compression operation 2024-09-15 10:42:44 -05:00
misc.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
namespace.c smb: client: sync the root session and superblock context passwords before automounting 2025-01-17 13:40:49 +01:00
netlink.c smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
netlink.h smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
netmisc.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
nterr.c smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
nterr.h smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
ntlmssp.h cifs: Add client version details to NTLM authenticate message 2023-10-22 19:03:42 -05:00
readdir.c cifs: Use cifs_autodisable_serverino() for disabling CIFS_MOUNT_SERVER_INUM in readdir.c 2025-02-08 09:57:35 +01:00
reparse.c cifs: Validate EAs for WSL reparse points 2025-02-08 09:58:10 +01:00
reparse.h cifs: Fix parsing native symlinks relative to the export 2024-12-05 14:03:07 +01:00
rfc1002pdu.h smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
sess.c cifs: Remove unused functions 2024-10-16 00:30:52 -05:00
smb1ops.c cifs: Fix parsing reparse point with native symlink in SMB1 non-UNICODE session 2024-12-05 14:03:07 +01:00
smb2file.c cifs: Fix parsing native symlinks relative to the export 2024-12-05 14:03:07 +01:00
smb2glob.h smb: client: introduce SMB2_OP_QUERY_WSL_EA 2024-03-10 19:33:58 -05:00
smb2inode.c smb: client: handle lack of EA support in smb2_query_path_info() 2025-02-01 18:39:37 +01:00
smb2maperror.c smb: move SMB2 Status code to common header file 2024-09-15 10:42:44 -05:00
smb2misc.c Revert "smb: client: make SHA-512 TFM ephemeral" 2024-09-30 22:07:45 -05:00
smb2ops.c smb: client: fix oops due to unset link speed 2025-02-08 09:57:35 +01:00
smb2pdu.c smb: fix bytes written value in /proc/fs/cifs/Stats 2025-01-02 10:34:11 +01:00
smb2pdu.h smb/client: rename cifs_sid to smb_sid 2024-09-15 10:42:44 -05:00
smb2proto.h cifs: Fix parsing native symlinks relative to the export 2024-12-05 14:03:07 +01:00
smb2transport.c smb: client: fix use-after-free of signing key 2024-12-05 14:02:59 +01:00
smbdirect.c smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
smbdirect.h smb: client: Correct typos in multiple comments across various files 2024-10-02 17:52:24 -05:00
smbencrypt.c smb: client: delete "true", "false" defines 2024-01-23 12:41:02 -06:00
smberr.h smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
trace.c smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
trace.h smb: During unmount, ensure all cached dir instances drop their dentry 2024-12-05 14:03:00 +01:00
transport.c cifs: Fix reversion of the iter in cifs_readv_receive(). 2024-09-24 21:53:08 -05:00
unc.c smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
winucase.c smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
xattr.c smb/client: rename cifs_ntsd to smb_ntsd 2024-09-15 10:42:44 -05:00