Re: [PATCH] perf/core: Fix reversed NULL check in perf_event_groups_less()

From: Ian Rogers
Date: Fri Mar 20 2020 - 22:25:19 EST


On Fri, Mar 13, 2020 at 5:27 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Thu, Mar 12, 2020 at 01:56:37PM +0300, Dan Carpenter wrote:
> > This NULL check is reversed so it leads to a Smatch warning and
> > presumably a NULL dereference.
> >
> > kernel/events/core.c:1598 perf_event_groups_less()
> > error: we previously assumed 'right->cgrp->css.cgroup' could be null
> > (see line 1590)
> >
> > Fixes: 95ed6c707f26 ("perf/cgroup: Order events in RB tree by cgroup id")
> > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> > ---
> > kernel/events/core.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/kernel/events/core.c b/kernel/events/core.c
> > index 6a47c3e54fe9..607c04ec7cfa 100644
> > --- a/kernel/events/core.c
> > +++ b/kernel/events/core.c
> > @@ -1587,7 +1587,7 @@ perf_event_groups_less(struct perf_event *left, struct perf_event *right)
> > */
> > return true;
> > }
> > - if (!right->cgrp || right->cgrp->css.cgroup) {
> > + if (!right->cgrp || !right->cgrp->css.cgroup) {
> > /*
> > * Right has no cgroup but left does, no cgroups come
> > * first.
>
> Thanks!

Also much thanks!

Ian