perf core: Return error pointer if inherit_event() fails to find pmu_ctx
authorRavi Bangoria <ravi.bangoria@amd.com>
Fri, 18 Nov 2022 05:15:39 +0000 (10:45 +0530)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 27 Dec 2022 11:44:00 +0000 (12:44 +0100)
inherit_event() returns NULL only when it finds orphaned events
otherwise it returns either valid child_event pointer or an error
pointer. Follow the same when it fails to find pmu_ctx.

Fixes: bd2756811766 ("perf: Rewrite core context handling")
Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Ravi Bangoria <ravi.bangoria@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20221118051539.820-1-ravi.bangoria@amd.com
kernel/events/core.c

index eacc3702654d5c936915bf5a126ce365023b94c3..4bd2434251f01c48f381e17bce7584993b555232 100644 (file)
@@ -13231,7 +13231,7 @@ inherit_event(struct perf_event *parent_event,
        pmu_ctx = find_get_pmu_context(child_event->pmu, child_ctx, child_event);
        if (IS_ERR(pmu_ctx)) {
                free_event(child_event);
-               return NULL;
+               return ERR_CAST(pmu_ctx);
        }
        child_event->pmu_ctx = pmu_ctx;