linux-stable/tools
Leon Hwang 8cc6aaeca2 bpf, bpftool: Fix incorrect disasm pc
[ Upstream commit 4d99e509c1 ]

This patch addresses the bpftool issue "Wrong callq address displayed"[0].

The issue stemmed from an incorrect program counter (PC) value used during
disassembly with LLVM or libbfd.

For LLVM: The PC argument must represent the actual address in the kernel
to compute the correct relative address.

For libbfd: The relative address can be adjusted by adding func_ksym within
the custom info->print_address_func to yield the correct address.

Links:
[0] https://github.com/libbpf/bpftool/issues/109

Changes:
v2 -> v3:
  * Address comment from Quentin:
    * Remove the typedef.

v1 -> v2:
  * Fix the broken libbfd disassembler.

Fixes: e1947c750f ("bpftool: Refactor disassembler for JIT-ed programs")
Signed-off-by: Leon Hwang <leon.hwang@linux.dev>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Tested-by: Quentin Monnet <qmo@kernel.org>
Reviewed-by: Quentin Monnet <qmo@kernel.org>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/bpf/20241031152844.68817-1-leon.hwang@linux.dev
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-12-05 13:53:19 +01:00
..
accounting
arch tools/x86/kcpuid: Protect against faulty "max subleaf" values 2024-10-10 12:03:19 +02:00
bootconfig
bpf bpf, bpftool: Fix incorrect disasm pc 2024-12-05 13:53:19 +01:00
build perf build: Fix build feature-dwarf_getlocations fail for old libdw 2024-10-17 15:26:32 +02:00
certs
cgroup proc: rewrite stable_page_flags() 2024-04-25 20:56:15 -07:00
counter
crypto
debugging
firewire
firmware
gpio gpio: add sloppy logic analyzer using polling 2024-07-01 10:54:11 +02:00
hv tools/hv: Add memory allocation check in hv_fcopy_start 2024-10-10 12:03:38 +02:00
iio tools/iio: Add memory allocation failure check for trigger_name 2024-10-17 15:26:40 +02:00
include bpf: Add the missing BPF_LINK_TYPE invocation for sockmap 2024-11-01 02:02:38 +01:00
kvm/kvm_stat
laptop
leds
lib libbpf: move global data mmap()'ing into bpf_object__load() 2024-12-05 13:53:17 +01:00
memory-model kcsan: Add __data_racy documentation and module description 2024-07-15 15:44:40 -07:00
mm tools/mm: fix compile error 2024-11-22 15:39:50 +01:00
net/ynl tools/net/ynl: fix cli.py --subscribe feature 2024-09-05 14:56:45 -07:00
objtool objtool: Handle frame pointer related instructions 2024-10-04 16:38:37 +02:00
pci
pcmcia
perf perf python: Fix up the build on architectures without HAVE_KVM_STAT_SUPPORT 2024-11-08 16:30:45 +01:00
power pm:cpupower: Add missing powercap_set_enabled() stub function 2024-10-04 16:37:26 +02:00
rcu tools/rcu: Add rcu-updaters.sh script 2024-06-06 11:44:42 -07:00
scripts
sound ASoC: dapm-graph: new tool to visualize DAPM state 2024-04-21 09:58:17 +09:00
spi
testing selftests/bpf: fix test_spin_lock_fail.c's global vars usage 2024-12-05 13:53:17 +01:00
thermal
time
tracing rtla: Fix the help text in osnoise and timerlat top tools 2024-10-10 12:04:10 +02:00
usb usbip: tools: Fix detach_port() invalid port error path 2024-11-08 16:30:53 +01:00
verification tools/verification: Use pkg-config in lib_setup of Makefile.config 2024-07-17 13:14:51 -07:00
virtio tools/virtio: creating pipe assertion in vringh_test 2024-07-04 11:00:31 -04:00
wmi
workqueue
writeback writeback: add wb_monitor.py script to monitor writeback info on bdi 2024-05-05 17:53:51 -07:00
Makefile