lkml.org 
[lkml]   [2014]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:sched/core] sched: Disallow sched_attr::sched_policy < 0
    Commit-ID:  dbdb22754fde671dc93d2fae06f8be113d47f2fb
    Gitweb: http://git.kernel.org/tip/dbdb22754fde671dc93d2fae06f8be113d47f2fb
    Author: Peter Zijlstra <peterz@infradead.org>
    AuthorDate: Fri, 9 May 2014 10:49:03 +0200
    Committer: Ingo Molnar <mingo@kernel.org>
    CommitDate: Thu, 22 May 2014 10:21:26 +0200

    sched: Disallow sched_attr::sched_policy < 0

    The scheduler uses policy=-1 to preserve the current policy state to
    implement sys_sched_setparam(), this got exposed to userspace by
    accident through sys_sched_setattr(), cure this.

    Reported-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Cc: <stable@vger.kernel.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/20140509085311.GJ30445@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    ---
    kernel/sched/core.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/kernel/sched/core.c b/kernel/sched/core.c
    index f2205f0..cdefcf7 100644
    --- a/kernel/sched/core.c
    +++ b/kernel/sched/core.c
    @@ -3662,6 +3662,9 @@ SYSCALL_DEFINE3(sched_setattr, pid_t, pid, struct sched_attr __user *, uattr,
    if (retval)
    return retval;

    + if (attr.sched_policy < 0)
    + return -EINVAL;
    +
    rcu_read_lock();
    retval = -ESRCH;
    p = find_process_by_pid(pid);

    \
     
     \ /
      Last update: 2014-05-23 15:41    [W:5.937 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site