diff options
author | Jeff Layton <jlayton@redhat.com> | 2012-11-25 08:00:40 -0500 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2012-12-05 14:13:12 -0500 |
commit | d3d1fce11dbbf4246f1c37839b13757f08aec3b7 (patch) | |
tree | e2594a52a76da9b36aea5cbd176a6ec65b4a30e9 /fs/cifs/inode.c | |
parent | b1a6dc21d1a731fdb71fcd683ef856c6af0b3f23 (diff) |
cifs: don't override the uid/gid in getattr when cifsacl is enabled
If we're using cifsacl, then we don't want to override the uid/gid with
the current uid/gid, since that would prevent you from being able to
upcall for this info.
Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index afdff79651f1..ed6208ff85a7 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -1791,11 +1791,12 @@ int cifs_getattr(struct vfsmount *mnt, struct dentry *dentry, | |||
1791 | stat->ino = CIFS_I(inode)->uniqueid; | 1791 | stat->ino = CIFS_I(inode)->uniqueid; |
1792 | 1792 | ||
1793 | /* | 1793 | /* |
1794 | * If on a multiuser mount without unix extensions, and the admin hasn't | 1794 | * If on a multiuser mount without unix extensions or cifsacl being |
1795 | * overridden them, set the ownership to the fsuid/fsgid of the current | 1795 | * enabled, and the admin hasn't overridden them, set the ownership |
1796 | * process. | 1796 | * to the fsuid/fsgid of the current process. |
1797 | */ | 1797 | */ |
1798 | if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MULTIUSER) && | 1798 | if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MULTIUSER) && |
1799 | !(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) && | ||
1799 | !tcon->unix_ext) { | 1800 | !tcon->unix_ext) { |
1800 | if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_UID)) | 1801 | if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_UID)) |
1801 | stat->uid = current_fsuid(); | 1802 | stat->uid = current_fsuid(); |