diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2013-02-06 04:53:25 -0500 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2013-02-13 10:28:51 -0500 |
commit | 4a2c8cf56953a6ebe3c8671433607b7f96f200d5 (patch) | |
tree | 307523cb5ac706ab182cd2942a47895dc1647373 /fs/cifs/inode.c | |
parent | 6d4a083205c27bc2e2a1c03dff4acf2fe457d1c4 (diff) |
cifs: Convert struct cifs_fattr to use kuid and kgids
In cifs_unix_to_basic_fattr only update the cifs_fattr with an id if
it is valid after conversion.
Cc: Steve French <smfrench@gmail.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 737643940540..9638233964fc 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -247,15 +247,21 @@ cifs_unix_basic_to_fattr(struct cifs_fattr *fattr, FILE_UNIX_BASIC_INFO *info, | |||
247 | fattr->cf_uid = cifs_sb->mnt_uid; | 247 | fattr->cf_uid = cifs_sb->mnt_uid; |
248 | if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_UID)) { | 248 | if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_UID)) { |
249 | u64 id = le64_to_cpu(info->Uid); | 249 | u64 id = le64_to_cpu(info->Uid); |
250 | if (id < ((uid_t)-1)) | 250 | if (id < ((uid_t)-1)) { |
251 | fattr->cf_uid = id; | 251 | kuid_t uid = make_kuid(&init_user_ns, id); |
252 | if (uid_valid(uid)) | ||
253 | fattr->cf_uid = uid; | ||
254 | } | ||
252 | } | 255 | } |
253 | 256 | ||
254 | fattr->cf_gid = cifs_sb->mnt_gid; | 257 | fattr->cf_gid = cifs_sb->mnt_gid; |
255 | if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_GID)) { | 258 | if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_GID)) { |
256 | u64 id = le64_to_cpu(info->Gid); | 259 | u64 id = le64_to_cpu(info->Gid); |
257 | if (id < ((gid_t)-1)) | 260 | if (id < ((gid_t)-1)) { |
258 | fattr->cf_gid = id; | 261 | kgid_t gid = make_kgid(&init_user_ns, id); |
262 | if (gid_valid(gid)) | ||
263 | fattr->cf_gid = gid; | ||
264 | } | ||
259 | } | 265 | } |
260 | 266 | ||
261 | fattr->cf_nlink = le64_to_cpu(info->Nlinks); | 267 | fattr->cf_nlink = le64_to_cpu(info->Nlinks); |