summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorFlorent Revest <revest@chromium.org>2023-05-11 16:05:07 +0200
committerDaniel Borkmann <daniel@iogearbox.net>2023-05-15 21:17:22 +0200
commit90564f1e3dd66052af29e2c29cba3dc98b6604d0 (patch)
tree1c952f79198d21afeda507ad774cf76a4e647a40 /tools
parent04cb8453a91c7c22f60ddadb6cef0d19abb33bb5 (diff)
bpf, arm64: Support struct arguments in the BPF trampoline
This extends the BPF trampoline JIT to support attachment to functions that take small structures (up to 128bit) as argument. This is trivially achieved by saving/restoring a number of "argument registers" rather than a number of arguments. The AAPCS64 section 6.8.2 describes the parameter passing ABI. "Composite types" (like C structs) below 16 bytes (as enforced by the BPF verifier) are provided as part of the 8 argument registers as explained in the section C.12. Signed-off-by: Florent Revest <revest@chromium.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Yonghong Song <yhs@fb.com> Acked-by: Xu Kuohai <xukuohai@huawei.com> Link: https://lore.kernel.org/bpf/20230511140507.514888-1-revest@chromium.org
Diffstat (limited to 'tools')
-rw-r--r--tools/testing/selftests/bpf/DENYLIST.aarch641
1 files changed, 0 insertions, 1 deletions
diff --git a/tools/testing/selftests/bpf/DENYLIST.aarch64 b/tools/testing/selftests/bpf/DENYLIST.aarch64
index cd42e2825bd2..08adc805878b 100644
--- a/tools/testing/selftests/bpf/DENYLIST.aarch64
+++ b/tools/testing/selftests/bpf/DENYLIST.aarch64
@@ -10,4 +10,3 @@ kprobe_multi_test/link_api_addrs # link_fd unexpected link_fd: a
kprobe_multi_test/link_api_syms # link_fd unexpected link_fd: actual -95 < expected 0
kprobe_multi_test/skel_api # libbpf: failed to load BPF skeleton 'kprobe_multi': -3
module_attach # prog 'kprobe_multi': failed to auto-attach: -95
-tracing_struct # tracing_struct__attach unexpected error: -524 (errno 524)