Subject: [PATCH] Remove excess pid_visible calls now that pid_to_user performs pid_visible From: Eric W. Biederman Date: 1129752185 -0600 --- fs/proc/array.c | 8 +++----- kernel/timer.c | 4 ++-- 2 files changed, 5 insertions(+), 7 deletions(-) 54a689b5e9a03d0fecd8780ba43fb1e46f6c952d diff --git a/fs/proc/array.c b/fs/proc/array.c index 4721c5d..d39c0a4 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -167,10 +167,8 @@ static inline char * task_state(struct t read_lock(&tasklist_lock); tgid = pid_to_user(p->tgid); pid = pid_to_user(p->pid); - ptgid = pid_alive(p) && pid_visible(p->group_leader->real_parent->tgid) ? - pid_to_user(p->group_leader->real_parent->tgid) : 0; - tppid = pid_alive(p) && pid_visible(p->parent->pid) && p->ptrace ? - pid_to_user(p->parent->pid) : 0; + ptgid = pid_alive(p) ? pid_to_user(p->group_leader->real_parent->tgid) : 0; + tppid = pid_alive(p) ? pid_to_user(p->parent->pid) : 0; buffer += sprintf(buffer, "State:\t%s\n" "SleepAVG:\t%lu%%\n" @@ -394,7 +392,7 @@ static int do_task_stat(struct task_stru } it_real_value = task->signal->it_real_value; } - ppid = pid_alive(task) && pid_visible(task->group_leader->real_parent->tgid) ? + ppid = pid_alive(task) ? pid_to_user(task->group_leader->real_parent->tgid) : 0; read_unlock(&tasklist_lock); diff --git a/kernel/timer.c b/kernel/timer.c index b7a65e3..b56659f 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -1024,7 +1024,7 @@ asmlinkage long sys_getppid(void) parent = me->group_leader->real_parent; for (;;) { - pid = pid_visible(parent->tgid)? pid_to_user(parent->tgid) : 0; + pid = parent->tgid; #if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT) { struct task_struct *old = parent; @@ -1041,7 +1041,7 @@ asmlinkage long sys_getppid(void) #endif break; } - return pid; + return pid_to_user(pid); } asmlinkage long sys_getuid(void) -- 1.0.GIT