diff options
author | Steve French <stfrench@microsoft.com> | 2019-07-19 08:30:07 +0200 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2019-09-16 18:43:37 +0200 |
commit | e2f8fbfb8d09c06decde162090fac3ee220aa280 (patch) | |
tree | 34c4ff53129c327ade33e86e2967f53baa5e66ab /fs/cifs/cifsproto.h | |
parent | fs: cifs: cifsssmb: remove redundant assignment to variable ret (diff) | |
download | linux-e2f8fbfb8d09c06decde162090fac3ee220aa280.tar.xz linux-e2f8fbfb8d09c06decde162090fac3ee220aa280.zip |
cifs: get mode bits from special sid on stat
When mounting with "modefromsid" retrieve mode bits from
special SID (S-1-5-88-3) on stat. Subsequent patch will fix
setattr (chmod) to save mode bits in S-1-5-88-3-<mode>
Note that when an ACE matching S-1-5-88-3 is not found, we
default the mode to an approximation based on the owner, group
and everyone permissions (as with the "cifsacl" mount option).
See See e.g.
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/hh509017(v=ws.10)
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/cifsproto.h')
-rw-r--r-- | fs/cifs/cifsproto.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h index 592a6cea2b79..dd75746e60cd 100644 --- a/fs/cifs/cifsproto.h +++ b/fs/cifs/cifsproto.h @@ -197,6 +197,7 @@ extern int cifs_rename_pending_delete(const char *full_path, const unsigned int xid); extern int cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr, struct inode *inode, + bool get_mode_from_special_sid, const char *path, const struct cifs_fid *pfid); extern int id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64, kuid_t, kgid_t); |