summaryrefslogtreecommitdiffstats
path: root/kernel/sched/core.c
diff options
context:
space:
mode:
authorEric W. Biederman2012-02-03 03:54:02 +0100
committerEric W. Biederman2012-05-03 12:28:39 +0200
commit9c806aa06f8e121c6058db8e8073798aa5c4355b (patch)
treed55fb9702aa80c4fb38f0da504b18a720e91f9bb /kernel/sched/core.c
parentuserns: Replace user_ns_map_uid and user_ns_map_gid with from_kuid and from_kgid (diff)
downloadkernel-qcow2-linux-9c806aa06f8e121c6058db8e8073798aa5c4355b.tar.gz
kernel-qcow2-linux-9c806aa06f8e121c6058db8e8073798aa5c4355b.tar.xz
kernel-qcow2-linux-9c806aa06f8e121c6058db8e8073798aa5c4355b.zip
userns: Convert sched_set_affinity and sched_set_scheduler's permission checks
- Compare kuids with uid_eq - kuid are uniuqe across all user namespaces so there is no longer the need for a user_namespace comparison. Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Diffstat (limited to 'kernel/sched/core.c')
-rw-r--r--kernel/sched/core.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 96bff855b866..b189fecaef90 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4042,11 +4042,8 @@ static bool check_same_owner(struct task_struct *p)
rcu_read_lock();
pcred = __task_cred(p);
- if (cred->user_ns == pcred->user_ns)
- match = (cred->euid == pcred->euid ||
- cred->euid == pcred->uid);
- else
- match = false;
+ match = (uid_eq(cred->euid, pcred->euid) ||
+ uid_eq(cred->euid, pcred->uid));
rcu_read_unlock();
return match;
}