diff options
author | Shuyi Cheng <chengshuyi@linux.alibaba.com> | 2024-09-08 11:23:53 +0200 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2024-09-10 00:56:22 +0200 |
commit | 12707b9159e631af91c051fd102d469364b6ecc3 (patch) | |
tree | 4431f44629566d5f3a96bccfe8944e90e547bddc /tools/lib | |
parent | libbpf: Workaround (another) -Wmaybe-uninitialized false positive (diff) | |
download | linux-12707b9159e631af91c051fd102d469364b6ecc3.tar.xz linux-12707b9159e631af91c051fd102d469364b6ecc3.zip |
libbpf: Fixed getting wrong return address on arm64 architecture
ARM64 has a separate lr register to store the return address, so here
you only need to read the lr register to get the return address, no need
to dereference it again.
Signed-off-by: Shuyi Cheng <chengshuyi@linux.alibaba.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/1725787433-77262-1-git-send-email-chengshuyi@linux.alibaba.com
Diffstat (limited to 'tools/lib')
-rw-r--r-- | tools/lib/bpf/bpf_tracing.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/lib/bpf/bpf_tracing.h b/tools/lib/bpf/bpf_tracing.h index 4eab132a963e..aa3b04f5542a 100644 --- a/tools/lib/bpf/bpf_tracing.h +++ b/tools/lib/bpf/bpf_tracing.h @@ -522,7 +522,7 @@ struct pt_regs; #define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ (ip) = (ctx)->link; }) #define BPF_KRETPROBE_READ_RET_IP BPF_KPROBE_READ_RET_IP -#elif defined(bpf_target_sparc) +#elif defined(bpf_target_sparc) || defined(bpf_target_arm64) #define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ (ip) = PT_REGS_RET(ctx); }) #define BPF_KRETPROBE_READ_RET_IP BPF_KPROBE_READ_RET_IP |