From: Ravi Bangoria <ravi.bangoria@amd.com>
Date: Fri, 18 Nov 2022 05:15:39 +0000 (+0530)
Subject: perf core: Return error pointer if inherit_event() fails to find pmu_ctx
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e2d371484653ac83b970d3ebcf343383f39f8b6b;p=linux.git

perf core: Return error pointer if inherit_event() fails to find pmu_ctx

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
---

diff --git a/kernel/events/core.c b/kernel/events/core.c
index eacc3702654d5..4bd2434251f01 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -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;