MIPS: Use rcu to lookup a task in mipsmt_sys_sched_setaffinity()

The call simply looks up the corresponding task (without iterating
the tasklist), which is safe under rcu instead of the tasklist_lock.
In addition, the setaffinity counter part already does this.

Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
This commit is contained in:
Davidlohr Bueso 2020-08-31 13:14:02 -07:00 committed by Thomas Bogendoerfer
parent a510b61613
commit f0100c7f1a

View File

@ -167,7 +167,7 @@ asmlinkage long mipsmt_sys_sched_getaffinity(pid_t pid, unsigned int len,
return -EINVAL;
get_online_cpus();
read_lock(&tasklist_lock);
rcu_read_lock();
retval = -ESRCH;
p = find_process_by_pid(pid);
@ -181,7 +181,7 @@ asmlinkage long mipsmt_sys_sched_getaffinity(pid_t pid, unsigned int len,
cpumask_and(&mask, &allowed, cpu_active_mask);
out_unlock:
read_unlock(&tasklist_lock);
rcu_read_unlock();
put_online_cpus();
if (retval)
return retval;