diff options
author | Richard Weinberger <richard@nod.at> | 2014-06-02 22:38:34 +0200 |
---|---|---|
committer | Show Liu <show.liu@linaro.org> | 2014-06-18 12:05:26 +0800 |
commit | 5f6fc9aba4ba3a8aeddccd7191de0826709d9fec (patch) | |
tree | e68dd6414a7d02b9a0eb8041072f24f14268bb7b | |
parent | 656481c0345a3926a63f0e8a3ea8cad6483b42d2 (diff) |
sched: Fix sched_policy < 0 comparison
commit b14ed2c273f8ab872ae4e6735fe5ab09cb14b8c3 upstream.
attr.sched_policy is u32, therefore a comparison against < 0 is never true.
Fix this by casting sched_policy to int.
This issue was reported by coverity CID 1219934.
Fixes: dbdb22754fde ("sched: Disallow sched_attr::sched_policy < 0")
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1401741514-7045-1-git-send-email-richard@nod.at
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | kernel/sched/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 0995514ee83..d214f98d6e7 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3707,7 +3707,7 @@ SYSCALL_DEFINE3(sched_setattr, pid_t, pid, struct sched_attr __user *, uattr, if (retval) return retval; - if (attr.sched_policy < 0) + if ((int)attr.sched_policy < 0) return -EINVAL; rcu_read_lock(); |