OpenCloudOS-Kernel/tools/perf
Leo Yan 197eecb6ec perf session: Correct buffer copying when peeking events
When peeking an event, it has a short path and a long path.  The short
path uses the session pointer "one_mmap_addr" to directly fetch the
event; and the long path needs to read out the event header and the
following event data from file and fill into the buffer pointer passed
through the argument "buf".

The issue is in the long path that it copies the event header and event
data into the same destination address which pointer "buf", this means
the event header is overwritten.  We are just lucky to run into the
short path in most cases, so we don't hit the issue in the long path.

This patch adds the offset "hdr_sz" to the pointer "buf" when copying
the event data, so that it can reserve the event header which can be
used properly by its caller.

Fixes: 5a52f33adf ("perf session: Add perf_session__peek_event()")
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Kan Liang <kan.liang@linux.intel.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/20210605052957.1070720-1-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2021-06-11 12:54:24 -03:00
..
Documentation perf script: Add missing PERF_IP_FLAG_CHARS for VM-Entry and VM-Exit 2021-05-21 16:41:37 -03:00
arch tools headers UAPI: Sync files changed by the quotactl_path unwiring 2021-05-21 16:14:00 -03:00
bench
examples/bpf
include/bpf
jvmti
pmu-events perf vendor events powerpc: Fix eventcode of power10 JSON events 2021-05-28 09:22:24 -03:00
python
scripts perf scripts python: exported-sql-viewer.py: Fix warning display 2021-05-21 16:31:07 -03:00
tests perf test: Test 17 fails with make LIBPFM4=1 on s390 z/VM 2021-06-01 10:57:39 -03:00
trace
ui
util perf session: Correct buffer copying when peeking events 2021-06-11 12:54:24 -03:00
.gitignore
Build
CREDITS
MANIFEST
Makefile
Makefile.config perf tools: Copy uapi/asm/perf_regs.h from the kernel for MIPS 2021-06-01 10:07:46 -03:00
Makefile.perf
builtin-annotate.c
builtin-bench.c
builtin-buildid-cache.c
builtin-buildid-list.c perf buildid-list: Initialize zstd_data 2021-05-17 20:39:17 -03:00
builtin-c2c.c
builtin-config.c
builtin-daemon.c
builtin-data.c
builtin-diff.c
builtin-evlist.c
builtin-ftrace.c
builtin-help.c
builtin-inject.c
builtin-kallsyms.c
builtin-kmem.c
builtin-kvm.c
builtin-list.c
builtin-lock.c
builtin-mem.c
builtin-probe.c
builtin-record.c perf record: Move probing cgroup sampling support 2021-06-01 10:32:00 -03:00
builtin-report.c
builtin-sched.c
builtin-script.c
builtin-stat.c perf stat: Skip evlist__[enable|disable] when all events uses BPF 2021-05-21 16:50:17 -03:00
builtin-timechart.c
builtin-top.c
builtin-trace.c
builtin-version.c
builtin.h
check-headers.sh perf tools: Copy uapi/asm/perf_regs.h from the kernel for MIPS 2021-06-01 10:07:46 -03:00
command-list.txt
design.txt
perf-archive.sh
perf-completion.sh
perf-iostat.sh
perf-read-vdso.c
perf-sys.h
perf-with-kcore.sh
perf.c perf debug: Move debug initialization earlier 2021-05-27 13:24:22 -03:00
perf.h