mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
perf pmu: Fix a potential memory leak in perf_pmu__lookup()
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: f63a536f03
("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
This commit is contained in:
parent
eb94225eb4
commit
ef5de1613d
1 changed files with 3 additions and 4 deletions
|
@ -1022,10 +1022,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…
Reference in a new issue