twx-linux/tools
Dave Marchevsky ca34ce29fc bpf: Improve docstring for BPF_F_USER_BUILD_ID flag
Most tools which use bpf_get_stack or bpf_get_stackid symbolicate the
stack - meaning the stack of addresses in the target process' address
space is transformed into meaningful symbol names. The
BPF_F_USER_BUILD_ID flag eases this process by finding the build_id of
the file-backed vma which the address falls in and translating the
address to an offset within the backing file.

To be more specific, the offset is a "file offset" from the beginning of
the backing file. The symbols in ET_DYN ELF objects have a st_value
which is also described as an "offset" - but an offset in the process
address space, relative to the base address of the object.

It's necessary to translate between the "file offset" and "virtual
address offset" during symbolication before they can be directly
compared. Failure to do so can lead to confusing bugs, so this patch
clarifies language in the documentation in an attempt to keep this from
happening.

Signed-off-by: Dave Marchevsky <davemarchevsky@fb.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220808164723.3107500-1-davemarchevsky@fb.com
2022-08-08 15:15:05 -07:00
..
accounting delayacct: track delays from write-protect copy 2022-06-01 15:55:25 -07:00
arch flexible-array transformations in UAPI for 6.0-rc1 2022-08-02 19:50:47 -07:00
bootconfig
bpf bpftool: Remove BPF_OBJ_NAME_LEN restriction when looking up bpf program by name 2022-08-04 14:41:13 -07:00
build perf build: Stop using __weak bpf_map_create() to handle older libbpf versions 2022-05-26 12:36:56 -03:00
certs tools/certs: Add print-cert-tbs-hash.sh 2022-05-23 18:47:49 +03:00
cgroup
counter
debugging
edid
firewire
firmware
gpio
hv
iio
include bpf: Improve docstring for BPF_F_USER_BUILD_ID flag 2022-08-08 15:15:05 -07:00
io_uring
kvm/kvm_stat tools/kvm_stat: fix display of error when multiple processes are found 2022-06-15 08:14:20 -04:00
laptop
leds
lib libbpf: Do not require executable permission for shared libraries 2022-08-08 15:07:40 -07:00
memory-model
objtool This was a moderately busy cycle for documentation, but nothing all that 2022-08-02 19:24:24 -07:00
pci
pcmcia
perf Networking changes for 6.0. 2022-08-03 16:29:08 -07:00
power Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2022-08-02 12:47:31 -07:00
rcu
scripts
spi spi: spidev_test: Warn when the mode is not the requested mode 2022-06-13 15:56:03 +01:00
testing selftests/bpf: Clean up sys_nanosleep uses 2022-08-08 15:42:00 +02:00
thermal thermal/tools/tmon: Fix typo 'the the' in comment 2022-07-28 17:29:52 +02:00
time
tracing rtla: Remove procps-ng dependency 2022-05-26 15:20:46 -04:00
usb
virtio
vm tools/vm/slabinfo: Handle files in debugfs 2022-07-04 17:10:15 +02:00
wmi
Makefile tools/nolibc: make the default target build the headers 2022-06-20 09:43:19 -07:00