aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/perfmon.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kernel/perfmon.c')
-rw-r--r--arch/ia64/kernel/perfmon.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
index 3fa4bc536953..5a5c22245dee 100644
--- a/arch/ia64/kernel/perfmon.c
+++ b/arch/ia64/kernel/perfmon.c
@@ -2380,8 +2380,8 @@ static int
2380pfm_bad_permissions(struct task_struct *task) 2380pfm_bad_permissions(struct task_struct *task)
2381{ 2381{
2382 const struct cred *tcred; 2382 const struct cred *tcred;
2383 uid_t uid = current_uid(); 2383 kuid_t uid = current_uid();
2384 gid_t gid = current_gid(); 2384 kgid_t gid = current_gid();
2385 int ret; 2385 int ret;
2386 2386
2387 rcu_read_lock(); 2387 rcu_read_lock();
@@ -2389,20 +2389,20 @@ pfm_bad_permissions(struct task_struct *task)
2389 2389
2390 /* inspired by ptrace_attach() */ 2390 /* inspired by ptrace_attach() */
2391 DPRINT(("cur: uid=%d gid=%d task: euid=%d suid=%d uid=%d egid=%d sgid=%d\n", 2391 DPRINT(("cur: uid=%d gid=%d task: euid=%d suid=%d uid=%d egid=%d sgid=%d\n",
2392 uid, 2392 from_kuid(&init_user_ns, uid),
2393 gid, 2393 from_kgid(&init_user_ns, gid),
2394 tcred->euid, 2394 from_kuid(&init_user_ns, tcred->euid),
2395 tcred->suid, 2395 from_kuid(&init_user_ns, tcred->suid),
2396 tcred->uid, 2396 from_kuid(&init_user_ns, tcred->uid),
2397 tcred->egid, 2397 from_kgid(&init_user_ns, tcred->egid),
2398 tcred->sgid)); 2398 from_kgid(&init_user_ns, tcred->sgid)));
2399 2399
2400 ret = ((uid != tcred->euid) 2400 ret = ((!uid_eq(uid, tcred->euid))
2401 || (uid != tcred->suid) 2401 || (!uid_eq(uid, tcred->suid))
2402 || (uid != tcred->uid) 2402 || (!uid_eq(uid, tcred->uid))
2403 || (gid != tcred->egid) 2403 || (!gid_eq(gid, tcred->egid))
2404 || (gid != tcred->sgid) 2404 || (!gid_eq(gid, tcred->sgid))
2405 || (gid != tcred->gid)) && !capable(CAP_SYS_PTRACE); 2405 || (!gid_eq(gid, tcred->gid))) && !capable(CAP_SYS_PTRACE);
2406 2406
2407 rcu_read_unlock(); 2407 rcu_read_unlock();
2408 return ret; 2408 return ret;