summaryrefslogtreecommitdiff
path: root/tools/testing
diff options
context:
space:
mode:
authorEduard Zingerman <eddyz87@gmail.com>2024-03-06 13:45:16 +0300
committerAndrii Nakryiko <andrii@kernel.org>2024-03-07 02:18:15 +0300
commitd9ab2f76ef5abb76190ffb42d83bdc6caede807e (patch)
treeea29a8f148822b4c4874a56cd456bd2435f81980 /tools/testing
parenta2a5172cf1eb39472bd2038079f65c6f676906a5 (diff)
downloadlinux-d9ab2f76ef5abb76190ffb42d83bdc6caede807e.tar.xz
libbpf: Tie struct_ops programs to kernel BTF ids, not to local ids
Enforce the following existing limitation on struct_ops programs based on kernel BTF id instead of program-local BTF id: struct_ops BPF prog can be re-used between multiple .struct_ops & .struct_ops.link as long as it's the same struct_ops struct definition and the same function pointer field This allows reusing same BPF program for versioned struct_ops map definitions, e.g.: SEC("struct_ops/test") int BPF_PROG(foo) { ... } struct some_ops___v1 { int (*test)(void); }; struct some_ops___v2 { int (*test)(void); }; SEC(".struct_ops.link") struct some_ops___v1 a = { .test = foo } SEC(".struct_ops.link") struct some_ops___v2 b = { .test = foo } Signed-off-by: Eduard Zingerman <eddyz87@gmail.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20240306104529.6453-3-eddyz87@gmail.com
Diffstat (limited to 'tools/testing')
0 files changed, 0 insertions, 0 deletions