diff options
Diffstat (limited to 'kernel/posix-cpu-timers.c')
| -rw-r--r-- | kernel/posix-cpu-timers.c | 12 | 
1 files changed, 6 insertions, 6 deletions
| diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c index 6842eeba587..05bb7173850 100644 --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c @@ -37,13 +37,13 @@ static int check_clock(const clockid_t which_clock)  	if (pid == 0)  		return 0; -	read_lock(&tasklist_lock); +	rcu_read_lock();  	p = find_task_by_vpid(pid);  	if (!p || !(CPUCLOCK_PERTHREAD(which_clock) ? -		   same_thread_group(p, current) : thread_group_leader(p))) { +		   same_thread_group(p, current) : has_group_leader_pid(p))) {  		error = -EINVAL;  	} -	read_unlock(&tasklist_lock); +	rcu_read_unlock();  	return error;  } @@ -390,7 +390,7 @@ int posix_cpu_timer_create(struct k_itimer *new_timer)  	INIT_LIST_HEAD(&new_timer->it.cpu.entry); -	read_lock(&tasklist_lock); +	rcu_read_lock();  	if (CPUCLOCK_PERTHREAD(new_timer->it_clock)) {  		if (pid == 0) {  			p = current; @@ -404,7 +404,7 @@ int posix_cpu_timer_create(struct k_itimer *new_timer)  			p = current->group_leader;  		} else {  			p = find_task_by_vpid(pid); -			if (p && !thread_group_leader(p)) +			if (p && !has_group_leader_pid(p))  				p = NULL;  		}  	} @@ -414,7 +414,7 @@ int posix_cpu_timer_create(struct k_itimer *new_timer)  	} else {  		ret = -EINVAL;  	} -	read_unlock(&tasklist_lock); +	rcu_read_unlock();  	return ret;  } | 
