]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Jan 2024 23:43:28 +0000 (15:43 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Jan 2024 23:43:28 +0000 (15:43 -0800)
added patches:
perf-top-skip-side-band-event-setup-if-have_libbpf_support-is-not-set.patch

queue-5.4/perf-top-skip-side-band-event-setup-if-have_libbpf_support-is-not-set.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/perf-top-skip-side-band-event-setup-if-have_libbpf_support-is-not-set.patch b/queue-5.4/perf-top-skip-side-band-event-setup-if-have_libbpf_support-is-not-set.patch
new file mode 100644 (file)
index 0000000..3bc548c
--- /dev/null
@@ -0,0 +1,94 @@
+From 0c5f1acc2a14416bf30023f373558d369afdbfc8 Mon Sep 17 00:00:00 2001
+From: Tiezhu Yang <yangtiezhu@loongson.cn>
+Date: Tue, 18 Aug 2020 20:30:37 +0800
+Subject: perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set
+
+From: Tiezhu Yang <yangtiezhu@loongson.cn>
+
+commit 0c5f1acc2a14416bf30023f373558d369afdbfc8 upstream.
+
+When I execute 'perf top' without HAVE_LIBBPF_SUPPORT, there exists the
+following segmentation fault, skip the side-band event setup to fix it,
+this is similar with commit 1101c872c8c7 ("perf record: Skip side-band
+event setup if HAVE_LIBBPF_SUPPORT is not set").
+
+  [yangtiezhu@linux perf]$ ./perf top
+  <SNIP>
+  perf: Segmentation fault
+  Obtained 6 stack frames.
+  ./perf(sighandler_dump_stack+0x5c) [0x12011b604]
+  [0xffffffc010]
+  ./perf(perf_mmap__read_init+0x3e) [0x1201feeae]
+  ./perf() [0x1200d715c]
+  /lib64/libpthread.so.0(+0xab9c) [0xffee10ab9c]
+  /lib64/libc.so.6(+0x128f4c) [0xffedc08f4c]
+  Segmentation fault
+  [yangtiezhu@linux perf]$
+
+I use git bisect to find commit b38d85ef49cf ("perf bpf: Decouple
+creating the evlist from adding the SB event") is the first bad commit,
+so also add the Fixes tag.
+
+Committer testing:
+
+First build perf explicitely disabling libbpf:
+
+  $ make NO_LIBBPF=1 O=/tmp/build/perf -C tools/perf install-bin && perf test python
+
+Now make sure it isn't linked:
+
+  $ perf -vv | grep -w bpf
+                   bpf: [ OFF ]  # HAVE_LIBBPF_SUPPORT
+  $
+  $ nm ~/bin/perf | grep libbpf
+  $
+
+And now try to run 'perf top':
+
+  # perf top
+  perf: Segmentation fault
+  -------- backtrace --------
+  perf[0x5bcd6d]
+  /lib64/libc.so.6(+0x3ca6f)[0x7fd0f5a66a6f]
+  perf(perf_mmap__read_init+0x1e)[0x5e1afe]
+  perf[0x4cc468]
+  /lib64/libpthread.so.0(+0x9431)[0x7fd0f645a431]
+  /lib64/libc.so.6(clone+0x42)[0x7fd0f5b2b912]
+  #
+
+Applying this patch fixes the issue.
+
+Fixes: b38d85ef49cf ("perf bpf: Decouple creating the evlist from adding the SB event")
+Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
+Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
+Cc: Jiri Olsa <jolsa@redhat.com>
+Cc: Mark Rutland <mark.rutland@arm.com>
+Cc: Namhyung Kim <namhyung@kernel.org>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Xuefeng Li <lixuefeng@loongson.cn>
+Link: http://lore.kernel.org/lkml/1597753837-16222-1-git-send-email-yangtiezhu@loongson.cn
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ tools/perf/builtin-top.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/tools/perf/builtin-top.c
++++ b/tools/perf/builtin-top.c
+@@ -1682,6 +1682,7 @@ int cmd_top(int argc, const char **argv)
+               goto out_delete_evlist;
+       }
++#ifdef HAVE_LIBBPF_SUPPORT
+       if (!top.record_opts.no_bpf_event) {
+               top.sb_evlist = evlist__new();
+@@ -1695,6 +1696,7 @@ int cmd_top(int argc, const char **argv)
+                       goto out_delete_evlist;
+               }
+       }
++#endif
+       if (perf_evlist__start_sb_thread(top.sb_evlist, target)) {
+               pr_debug("Couldn't start the BPF side band thread:\nBPF programs starting from now on won't be annotatable\n");
index 3c285a403cfe342bbc18797e279871b5ed317c33..624cccbf4c538a3e7c5188333cf36231b738dafa 100644 (file)
@@ -191,3 +191,4 @@ kdb-fix-a-potential-buffer-overflow-in-kdb_local.patch
 mlxsw-spectrum_acl_erp-fix-error-flow-of-pool-alloca.patch
 i2c-s3c24xx-fix-read-transfers-in-polling-mode.patch
 i2c-s3c24xx-fix-transferring-more-than-one-message-i.patch
+perf-top-skip-side-band-event-setup-if-have_libbpf_support-is-not-set.patch