diff options
Diffstat (limited to 'kernel/pid.c')
| -rw-r--r-- | kernel/pid.c | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/pid.c b/kernel/pid.c index 2e17c9c92cb..b08e697cd83 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -367,7 +367,7 @@ struct task_struct *pid_task(struct pid *pid, enum pid_type type)  	struct task_struct *result = NULL;  	if (pid) {  		struct hlist_node *first; -		first = rcu_dereference(pid->tasks[type].first); +		first = rcu_dereference_check(pid->tasks[type].first, rcu_read_lock_held() || lockdep_is_held(&tasklist_lock));  		if (first)  			result = hlist_entry(first, struct task_struct, pids[(type)].node);  	}  |