]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
perf srcline: Add missed addr2line closes
authorIan Rogers <irogers@google.com>
Thu, 1 Feb 2024 00:15:02 +0000 (16:15 -0800)
committerNamhyung Kim <namhyung@kernel.org>
Sat, 10 Feb 2024 04:43:13 +0000 (20:43 -0800)
The child_process for addr2line sets in and out to -1 so that pipes
get created. It is the caller's responsibility to close the pipes,
finish_command doesn't do it. Add the missed closes.

Fixes: b3801e791231 ("perf srcline: Simplify addr2line subprocess")
Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: James Clark <james.clark@arm.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Tom Rix <trix@redhat.com>
Cc: llvm@lists.linux.dev
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240201001504.1348511-8-irogers@google.com
tools/perf/util/srcline.c

index 034b496df29780b23d2efc40c2459376d8a8bfba..7addc34afcf5d694699c084454bfe1e9dec9bfc2 100644 (file)
@@ -399,6 +399,8 @@ static void addr2line_subprocess_cleanup(struct child_process *a2l)
                kill(a2l->pid, SIGKILL);
                finish_command(a2l); /* ignore result, we don't care */
                a2l->pid = -1;
+               close(a2l->in);
+               close(a2l->out);
        }
 
        free(a2l);