sched: __sched_setscheduler: Read the RLIMIT_RTPRIO value lockless

__sched_setscheduler() takes lock_task_sighand() to access task->signal.
This is not needed since ea6d290c, ->signal can't go away.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20100610230944.GA25903@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Oleg Nesterov 2010-06-11 01:09:44 +02:00 committed by Ingo Molnar
parent b6b1229440
commit a44702e885

View File

@ -4600,12 +4600,8 @@ recheck:
*/ */
if (user && !capable(CAP_SYS_NICE)) { if (user && !capable(CAP_SYS_NICE)) {
if (rt_policy(policy)) { if (rt_policy(policy)) {
unsigned long rlim_rtprio; unsigned long rlim_rtprio =
task_rlimit(p, RLIMIT_RTPRIO);
if (!lock_task_sighand(p, &flags))
return -ESRCH;
rlim_rtprio = task_rlimit(p, RLIMIT_RTPRIO);
unlock_task_sighand(p, &flags);
/* can't set/change the rt policy */ /* can't set/change the rt policy */
if (policy != p->policy && !rlim_rtprio) if (policy != p->policy && !rlim_rtprio)