diff options
Diffstat (limited to 'fs/proc/array.c')
| -rw-r--r-- | fs/proc/array.c | 13 | 
1 files changed, 6 insertions, 7 deletions
| diff --git a/fs/proc/array.c b/fs/proc/array.c index 800e30f8f284..bd117d065b82 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -157,19 +157,18 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns,  	struct user_namespace *user_ns = seq_user_ns(m);  	struct group_info *group_info;  	int g; +	struct task_struct *tracer;  	const struct cred *cred; -	pid_t ppid, tpid, tgid, ngid; +	pid_t ppid, tpid = 0, tgid, ngid;  	unsigned int max_fds = 0;  	rcu_read_lock();  	ppid = pid_alive(p) ?  		task_tgid_nr_ns(rcu_dereference(p->real_parent), ns) : 0; -	tpid = 0; -	if (pid_alive(p)) { -		struct task_struct *tracer = ptrace_parent(p); -		if (tracer) -			tpid = task_pid_nr_ns(tracer, ns); -	} + +	tracer = ptrace_parent(p); +	if (tracer) +		tpid = task_pid_nr_ns(tracer, ns);  	tgid = task_tgid_nr_ns(p, ns);  	ngid = task_numa_group_id(p); |