From: Richard Weinberger Date: Mon, 2 Jun 2014 20:38:34 +0000 (+0200) Subject: sched: Fix sched_policy < 0 comparison X-Git-Tag: v3.14.7~36 X-Git-Url: https://git.fsl.cs.sunysb.edu/?a=commitdiff_plain;h=ccada0157f0909010e6684fe8fedb81d3a4351ee;p=unionfs-2.6.39.y.git 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 Signed-off-by: Peter Zijlstra Cc: Michael Kerrisk Cc: Linus Torvalds Link: http://lkml.kernel.org/r/1401741514-7045-1-git-send-email-richard@nod.at Signed-off-by: Ingo Molnar Cc: Dave Jones Signed-off-by: Greg Kroah-Hartman --- diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 9a8a1fc7626..0aae0fcec02 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();