perf pmu: Fix a potential memory leak in perf_pmu__lookup()
[ Upstream commit ef5de1613d7d92bdc975e6beb34bb0fa94f34078 ] The commit in Fixes has reordered some code, but missed an error handling path. 'goto err' now, in order to avoid a memory leak in case of error. Fixes: f63a536f03a2 ("perf pmu: Merge JSON events with sysfs at load time") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Ian Rogers <irogers@google.com> Cc: kernel-janitors@vger.kernel.org Signed-off-by: Namhyung Kim <namhyung@kernel.org> Link: https://lore.kernel.org/r/9538b2b634894c33168dfe9d848d4df31fd4d801.1693085544.git.christophe.jaillet@wanadoo.fr Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
05173ef707
commit
dfde5becad
@ -992,10 +992,9 @@ struct perf_pmu *perf_pmu__lookup(struct list_head *pmus, int dirfd, const char
|
||||
* type value and format definitions. Load both right
|
||||
* now.
|
||||
*/
|
||||
if (pmu_format(pmu, dirfd, name)) {
|
||||
free(pmu);
|
||||
return NULL;
|
||||
}
|
||||
if (pmu_format(pmu, dirfd, name))
|
||||
goto err;
|
||||
|
||||
pmu->is_core = is_pmu_core(name);
|
||||
pmu->cpus = pmu_cpumask(dirfd, name, pmu->is_core);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user