bpf/btf write_* functions need ff->ph->env.
With this missing, pipe-mode (perf record -o -) would crash like:
Program terminated with signal SIGSEGV, Segmentation fault.
This patch assign proper ph value to ff.
Cc: stable@vger.kernel.org #v5.1+ Fixes: 606f972b1361 ("perf bpf: Save bpf_prog_info information as headers to perf.data") Reported-by: David Carrillo Cisneros davidca@fb.com Signed-off-by: Song Liu songliubraving@fb.com --- tools/perf/util/header.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 06ddb6618ef3..5f1aa0284e1b 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -3684,6 +3684,7 @@ int perf_event__synthesize_features(struct perf_tool *tool, return -ENOMEM;
ff.size = sz - sz_hdr; + ff.ph = &session->header;
for_each_set_bit(feat, header->adds_features, HEADER_FEAT_BITS) { if (!feat_ops[feat].synthesize) {
Em Wed, Jun 19, 2019 at 06:04:53PM -0700, Song Liu escreveu:
bpf/btf write_* functions need ff->ph->env.
With this missing, pipe-mode (perf record -o -) would crash like:
Program terminated with signal SIGSEGV, Segmentation fault.
This patch assign proper ph value to ff.
Thanks, applied.
- Arnaldo
Cc: stable@vger.kernel.org #v5.1+ Fixes: 606f972b1361 ("perf bpf: Save bpf_prog_info information as headers to perf.data") Reported-by: David Carrillo Cisneros davidca@fb.com Signed-off-by: Song Liu songliubraving@fb.com
tools/perf/util/header.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 06ddb6618ef3..5f1aa0284e1b 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -3684,6 +3684,7 @@ int perf_event__synthesize_features(struct perf_tool *tool, return -ENOMEM; ff.size = sz - sz_hdr;
- ff.ph = &session->header;
for_each_set_bit(feat, header->adds_features, HEADER_FEAT_BITS) { if (!feat_ops[feat].synthesize) { -- 2.17.1
linux-stable-mirror@lists.linaro.org