[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140603080826.GK11096@twins.programming.kicks-ass.net>
Date: Tue, 3 Jun 2014 10:08:26 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Dave Jones <davej@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
mtk.manpages@...il.com, torvalds@...ux-foundation.org,
mingo@...nel.org
Subject: Re: sched: Disallow sched_attr::sched_policy < 0
On Mon, Jun 02, 2014 at 04:22:04PM -0400, Dave Jones wrote:
> On Mon, Jun 02, 2014 at 02:13:19AM +0000, Linux Kernel wrote:
>
> > 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.
> >
> > ---
> > kernel/sched/core.c | 3 +++
> > 1 files changed, 3 insertions(+), 0 deletions(-)
> >
> > 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);
>
> Todays coverity run picked up..
>
> 3687
> >>> CID 1219934: Unsigned compared against 0 (NO_EFFECT)
> >>> This less-than-zero comparison of an unsigned value is never true. "attr.sched_policy < 0U".
> 3688 if (attr.sched_policy < 0)
> 3689 return -EINVAL;
>
Once upon a time GCC also did warns like that, but my compiler is silent
:-(
Yes, that needs fixing..
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists