From ad53953dbe078692ef56ccf73137a10e583b0d36 Mon Sep 17 00:00:00 2001 From: Michal Hocko Date: Wed, 30 Jun 2010 09:51:19 +0200 Subject: [PATCH] --- yaml --- r: 200654 b: refs/heads/master c: 7a0ea09ad5352efce8fe79ed853150449903b9f5 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/futex.c | 17 ++++------------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index 0cf12a358b4f..5ea0ea969911 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f4985dc714d7ab1920c5aa502b7f4073fa1b4177 +refs/heads/master: 7a0ea09ad5352efce8fe79ed853150449903b9f5 diff --git a/trunk/kernel/futex.c b/trunk/kernel/futex.c index e7a35f1039e7..6a3a5fa1526d 100644 --- a/trunk/kernel/futex.c +++ b/trunk/kernel/futex.c @@ -429,20 +429,11 @@ static void free_pi_state(struct futex_pi_state *pi_state) static struct task_struct * futex_find_get_task(pid_t pid) { struct task_struct *p; - const struct cred *cred = current_cred(), *pcred; rcu_read_lock(); p = find_task_by_vpid(pid); - if (!p) { - p = ERR_PTR(-ESRCH); - } else { - pcred = __task_cred(p); - if (cred->euid != pcred->euid && - cred->euid != pcred->uid) - p = ERR_PTR(-ESRCH); - else - get_task_struct(p); - } + if (p) + get_task_struct(p); rcu_read_unlock(); @@ -564,8 +555,8 @@ lookup_pi_state(u32 uval, struct futex_hash_bucket *hb, if (!pid) return -ESRCH; p = futex_find_get_task(pid); - if (IS_ERR(p)) - return PTR_ERR(p); + if (!p) + return -ESRCH; /* * We need to look at the task state flags to figure out,