lkml.org 
[lkml]   [2021]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 046/167] perf data: Close all files in close_dir()
    Date
    From: Riccardo Mancini <rickyman7@gmail.com>

    [ Upstream commit d4b3eedce151e63932ce4a00f1d0baa340a8b907 ]

    When using 'perf report' in directory mode, the first file is not closed
    on exit, causing a memory leak.

    The problem is caused by the iterating variable never reaching 0.

    Fixes: 145520631130bd64 ("perf data: Add perf_data__(create_dir|close_dir) functions")
    Signed-off-by: Riccardo Mancini <rickyman7@gmail.com>
    Acked-by: Namhyung Kim <namhyung@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Zhen Lei <thunder.leizhen@huawei.com>
    Link: http://lore.kernel.org/lkml/20210716141122.858082-1-rickyman7@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/perf/util/data.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c
    index 5d97b3e45fbb..bcb494dc816a 100644
    --- a/tools/perf/util/data.c
    +++ b/tools/perf/util/data.c
    @@ -20,7 +20,7 @@

    static void close_dir(struct perf_data_file *files, int nr)
    {
    - while (--nr >= 1) {
    + while (--nr >= 0) {
    close(files[nr].fd);
    zfree(&files[nr].path);
    }
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-26 18:17    [W:4.636 / U:0.304 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site