mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-20 14:16:02 +00:00
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:
parent
b6b1229440
commit
a44702e885
1 changed files with 2 additions and 6 deletions
|
@ -4600,12 +4600,8 @@ static int __sched_setscheduler(struct task_struct *p, int policy,
|
|||
*/
|
||||
if (user && !capable(CAP_SYS_NICE)) {
|
||||
if (rt_policy(policy)) {
|
||||
unsigned long rlim_rtprio;
|
||||
|
||||
if (!lock_task_sighand(p, &flags))
|
||||
return -ESRCH;
|
||||
rlim_rtprio = task_rlimit(p, RLIMIT_RTPRIO);
|
||||
unlock_task_sighand(p, &flags);
|
||||
unsigned long rlim_rtprio =
|
||||
task_rlimit(p, RLIMIT_RTPRIO);
|
||||
|
||||
/* can't set/change the rt policy */
|
||||
if (policy != p->policy && !rlim_rtprio)
|
||||
|
|
Loading…
Reference in a new issue