summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2014-06-02 22:38:34 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-06-11 11:54:11 -0700
commitccada0157f0909010e6684fe8fedb81d3a4351ee (patch)
treec61f1a81787acb4e24c57401f237c90f930acf2f /kernel
parent8bc1ceb32e502e277bc70e2774958c76c4b9bcfb (diff)
downloadlwn-ccada0157f0909010e6684fe8fedb81d3a4351ee.tar.gz
lwn-ccada0157f0909010e6684fe8fedb81d3a4351ee.zip
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>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 9a8a1fc76268..0aae0fcec026 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();