]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 26 Jul 2021 10:22:01 +0000 (12:22 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 26 Jul 2021 10:22:01 +0000 (12:22 +0200)
added patches:
perf-inject-close-inject.output-on-exit.patch

queue-5.4/perf-inject-close-inject.output-on-exit.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/perf-inject-close-inject.output-on-exit.patch b/queue-5.4/perf-inject-close-inject.output-on-exit.patch
new file mode 100644 (file)
index 0000000..8ca755f
--- /dev/null
@@ -0,0 +1,57 @@
+From 02e6246f5364d5260a6ea6f92ab6f409058b162f Mon Sep 17 00:00:00 2001
+From: Riccardo Mancini <rickyman7@gmail.com>
+Date: Thu, 15 Jul 2021 18:07:15 +0200
+Subject: perf inject: Close inject.output on exit
+
+From: Riccardo Mancini <rickyman7@gmail.com>
+
+commit 02e6246f5364d5260a6ea6f92ab6f409058b162f upstream.
+
+ASan reports a memory leak when running:
+
+  # perf test "83: Zstd perf.data compression/decompression"
+
+which happens inside 'perf inject'.
+
+The bug is caused by inject.output never being closed.
+
+This patch adds the missing perf_data__close().
+
+Signed-off-by: Riccardo Mancini <rickyman7@gmail.com>
+Fixes: 6ef81c55a2b6584c ("perf session: Return error code for perf_session__new() function on failure")
+Cc: Ian Rogers <irogers@google.com>
+Cc: Jiri Olsa <jolsa@redhat.com>
+Cc: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
+Cc: Mark Rutland <mark.rutland@arm.com>
+Cc: Namhyung Kim <namhyung@kernel.org>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Link: http://lore.kernel.org/lkml/c06f682afa964687367cf6e92a64ceb49aec76a5.1626343282.git.rickyman7@gmail.com
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ tools/perf/builtin-inject.c |    8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+--- a/tools/perf/builtin-inject.c
++++ b/tools/perf/builtin-inject.c
+@@ -836,8 +836,10 @@ int cmd_inject(int argc, const char **ar
+       data.path = inject.input_name;
+       inject.session = perf_session__new(&data, inject.output.is_pipe, &inject.tool);
+-      if (IS_ERR(inject.session))
+-              return PTR_ERR(inject.session);
++      if (IS_ERR(inject.session)) {
++              ret = PTR_ERR(inject.session);
++              goto out_close_output;
++      }
+       if (zstd_init(&(inject.session->zstd_data), 0) < 0)
+               pr_warning("Decompression initialization failed.\n");
+@@ -874,5 +876,7 @@ int cmd_inject(int argc, const char **ar
+ out_delete:
+       zstd_fini(&(inject.session->zstd_data));
+       perf_session__delete(inject.session);
++out_close_output:
++      perf_data__close(&inject.output);
+       return ret;
+ }
index 80c0bd2347118d19528799f321f9072f42858473..17f6688dcd393d282e80bcb21a35dfc6e6292b53 100644 (file)
@@ -104,3 +104,4 @@ iio-accel-bma180-use-explicit-member-assignment.patch
 iio-accel-bma180-fix-bma25x-bandwidth-register-values.patch
 btrfs-compression-don-t-try-to-compress-if-we-don-t-have-enough-pages.patch
 pci-mark-amd-navi14-gpu-ats-as-broken.patch
+perf-inject-close-inject.output-on-exit.patch