[PATCH] sched: fix SCHED_FIFO bug in sys_sched_rr_get_interval()
The introduction of SCHED_BATCH scheduling class with a value of 3 means that the expression (p->policy & SCHED_FIFO) will return true if policy is SCHED_BATCH or SCHED_FIFO. Unfortunately, this expression is used in sys_sched_rr_get_interval() and in the absence of a comment to say that this is intentional I presume that it is unintentional and erroneous. The fix is to change the expression to (p->policy == SCHED_FIFO). Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
2139a7fbf3
commit
b78709cfd4
@ -4247,7 +4247,7 @@ long sys_sched_rr_get_interval(pid_t pid, struct timespec __user *interval)
|
||||
if (retval)
|
||||
goto out_unlock;
|
||||
|
||||
jiffies_to_timespec(p->policy & SCHED_FIFO ?
|
||||
jiffies_to_timespec(p->policy == SCHED_FIFO ?
|
||||
0 : task_timeslice(p), &t);
|
||||
read_unlock(&tasklist_lock);
|
||||
retval = copy_to_user(interval, &t, sizeof(t)) ? -EFAULT : 0;
|
||||
|
Loading…
Reference in New Issue
Block a user