summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-03-14 23:24:19 +0100
committerEric W. Biederman <ebiederm@xmission.com>2012-05-03 12:28:39 +0200
commit76b6db010297d4928ab7b7e7c78dd982f413f0a4 (patch)
tree0d8fef729548a4f266684c0b7e56e4a9ed14780f
parentuserns: Store uid and gid values in struct cred with kuid_t and kgid_t types (diff)
downloadlinux-76b6db010297d4928ab7b7e7c78dd982f413f0a4.tar.xz
linux-76b6db010297d4928ab7b7e7c78dd982f413f0a4.zip
userns: Replace user_ns_map_uid and user_ns_map_gid with from_kuid and from_kgid
These function are no longer needed replace them with their more useful equivalents. Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
-rw-r--r--include/linux/user_namespace.h12
-rw-r--r--ipc/mqueue.c3
-rw-r--r--kernel/signal.c2
-rw-r--r--net/core/sock.c4
4 files changed, 4 insertions, 17 deletions
diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
index a2c61457cba1..4e72922e5a75 100644
--- a/include/linux/user_namespace.h
+++ b/include/linux/user_namespace.h
@@ -69,16 +69,4 @@ static inline void put_user_ns(struct user_namespace *ns)
#endif
-static inline uid_t user_ns_map_uid(struct user_namespace *to,
- const struct cred *cred, kuid_t uid)
-{
- return from_kuid_munged(to, uid);
-}
-
-static inline gid_t user_ns_map_gid(struct user_namespace *to,
- const struct cred *cred, kgid_t gid)
-{
- return from_kgid_munged(to, gid);
-}
-
#endif /* _LINUX_USER_H */
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index b53cf3469d01..b6a0d46fbad7 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -538,8 +538,7 @@ static void __do_notify(struct mqueue_inode_info *info)
rcu_read_lock();
sig_i.si_pid = task_tgid_nr_ns(current,
ns_of_pid(info->notify_owner));
- sig_i.si_uid = user_ns_map_uid(info->notify_user_ns,
- current_cred(), current_uid());
+ sig_i.si_uid = from_kuid_munged(info->notify_user_ns, current_uid());
rcu_read_unlock();
kill_pid_info(info->notify.sigev_signo,
diff --git a/kernel/signal.c b/kernel/signal.c
index 2734dc965f69..d6303277a640 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -1026,7 +1026,7 @@ static inline int legacy_queue(struct sigpending *signals, int sig)
static inline uid_t map_cred_ns(const struct cred *cred,
struct user_namespace *ns)
{
- return user_ns_map_uid(ns, cred, cred->uid);
+ return from_kuid_munged(ns, cred->uid);
}
#ifdef CONFIG_USER_NS
diff --git a/net/core/sock.c b/net/core/sock.c
index b2e14c07d920..e1ec8ba1381c 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -821,8 +821,8 @@ void cred_to_ucred(struct pid *pid, const struct cred *cred,
if (cred) {
struct user_namespace *current_ns = current_user_ns();
- ucred->uid = user_ns_map_uid(current_ns, cred, cred->euid);
- ucred->gid = user_ns_map_gid(current_ns, cred, cred->egid);
+ ucred->uid = from_kuid(current_ns, cred->euid);
+ ucred->gid = from_kgid(current_ns, cred->egid);
}
}
EXPORT_SYMBOL_GPL(cred_to_ucred);