lkml.org 
[lkml]   [2024]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/5] perf sched: Fix memory leak in perf_sched__map()
From
Date
Hello,

On 2024/2/6 2:58, Arnaldo Carvalho de Melo wrote:
> On Mon, Feb 05, 2024 at 10:46:13AM +0000, Yang Jihong wrote:
>> +++ b/tools/perf/builtin-sched.c
>> @@ -3267,20 +3264,34 @@ static int setup_color_cpus(struct perf_sched *sched)
>>
>> static int perf_sched__map(struct perf_sched *sched)
>> {
>> + int rc = -1;
>> +
>> if (setup_map_cpus(sched))
>> - return -1;
>> + return rc;
>>
>> if (setup_color_pids(sched))
>> - return -1;
>> + goto out_free_map_cpus;
>
> I think renaming the goto labels to what they will do, dropping a
> refcount, is more clear, i.e.:
>
> goto out_put_map_cpus;
OK, will modify in v2.
>
>>
>> if (setup_color_cpus(sched))
>> - return -1;
>> + goto out_free_color_pids;
>>
>> setup_pager();
>> if (perf_sched__read_events(sched))
>> - return -1;
>> + goto out_free_color_cpus;
>> +
>> + rc = 0;
>> print_bad_events(sched);
>> - return 0;
>> +
>> +out_free_color_cpus:
>> + perf_cpu_map__put(sched->map.color_cpus);
>> +
>> +out_free_color_pids:
>> + perf_thread_map__put(sched->map.color_pids);
>> +
>> +out_free_map_cpus:
>> + free(sched->map.comp_cpus);
>
> Please use:
>
> zfree(&sched->map.comp_cpus);
>
OK, will change to use zfree in the next version.
Other patches where uses free will also be changed to zfree.

Thanks,
Yang

\
 
 \ /
  Last update: 2024-05-27 14:50    [W:2.768 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site