OSDN Git Service

perf/core: Fix reversed NULL check in perf_event_groups_less()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 12 Mar 2020 10:56:37 +0000 (13:56 +0300)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 20 Mar 2020 12:06:22 +0000 (13:06 +0100)
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@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200312105637.GA8960@mwanda
kernel/events/core.c

index b5a68d2..d22e4ba 100644 (file)
@@ -1586,7 +1586,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.