aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-02-08 10:00:08 -0500
committerEric W. Biederman <ebiederm@xmission.com>2012-05-03 06:28:38 -0400
commit078de5f706ece36afd73bb4b8283314132d2dfdf (patch)
tree0dee00713f9cb5e2516260a66b8df99ef7d03e4d /include/linux
parentae2975bc3476243b45a1e2344236d7920c268f38 (diff)
userns: Store uid and gid values in struct cred with kuid_t and kgid_t types
cred.h and a few trivial users of struct cred are changed. The rest of the users of struct cred are left for other patches as there are too many changes to make in one go and leave the change reviewable. If the user namespace is disabled and CONFIG_UIDGID_STRICT_TYPE_CHECKS are disabled the code will contiue to compile and behave correctly. Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/cred.h16
-rw-r--r--include/linux/user_namespace.h8
2 files changed, 12 insertions, 12 deletions
diff --git a/include/linux/cred.h b/include/linux/cred.h
index 0ab3cda4a774..fac0579258fc 100644
--- a/include/linux/cred.h
+++ b/include/linux/cred.h
@@ -123,14 +123,14 @@ struct cred {
123#define CRED_MAGIC 0x43736564 123#define CRED_MAGIC 0x43736564
124#define CRED_MAGIC_DEAD 0x44656144 124#define CRED_MAGIC_DEAD 0x44656144
125#endif 125#endif
126 uid_t uid; /* real UID of the task */ 126 kuid_t uid; /* real UID of the task */
127 gid_t gid; /* real GID of the task */ 127 kgid_t gid; /* real GID of the task */
128 uid_t suid; /* saved UID of the task */ 128 kuid_t suid; /* saved UID of the task */
129 gid_t sgid; /* saved GID of the task */ 129 kgid_t sgid; /* saved GID of the task */
130 uid_t euid; /* effective UID of the task */ 130 kuid_t euid; /* effective UID of the task */
131 gid_t egid; /* effective GID of the task */ 131 kgid_t egid; /* effective GID of the task */
132 uid_t fsuid; /* UID for VFS ops */ 132 kuid_t fsuid; /* UID for VFS ops */
133 gid_t fsgid; /* GID for VFS ops */ 133 kgid_t fsgid; /* GID for VFS ops */
134 unsigned securebits; /* SUID-less security management */ 134 unsigned securebits; /* SUID-less security management */
135 kernel_cap_t cap_inheritable; /* caps our children can inherit */ 135 kernel_cap_t cap_inheritable; /* caps our children can inherit */
136 kernel_cap_t cap_permitted; /* caps we're permitted */ 136 kernel_cap_t cap_permitted; /* caps we're permitted */
diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
index 4c9846d90741..a2c61457cba1 100644
--- a/include/linux/user_namespace.h
+++ b/include/linux/user_namespace.h
@@ -70,15 +70,15 @@ static inline void put_user_ns(struct user_namespace *ns)
70#endif 70#endif
71 71
72static inline uid_t user_ns_map_uid(struct user_namespace *to, 72static inline uid_t user_ns_map_uid(struct user_namespace *to,
73 const struct cred *cred, uid_t uid) 73 const struct cred *cred, kuid_t uid)
74{ 74{
75 return from_kuid_munged(to, make_kuid(cred->user_ns, uid)); 75 return from_kuid_munged(to, uid);
76} 76}
77 77
78static inline gid_t user_ns_map_gid(struct user_namespace *to, 78static inline gid_t user_ns_map_gid(struct user_namespace *to,
79 const struct cred *cred, gid_t gid) 79 const struct cred *cred, kgid_t gid)
80{ 80{
81 return from_kgid_munged(to, make_kgid(cred->user_ns, gid)); 81 return from_kgid_munged(to, gid);
82} 82}
83 83
84#endif /* _LINUX_USER_H */ 84#endif /* _LINUX_USER_H */