diff options
author | Andrii Nakryiko <andrii@kernel.org> | 2023-04-17 17:21:48 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2023-04-18 12:45:11 -0700 |
commit | 94dccba7952072ce448a3278c66405fbb2a44ec5 (patch) | |
tree | c069a1e9e77fac7fa75e3d6e249d3cf60e82a219 /tools/lib/bpf/bpf_helpers.h | |
parent | c5e64741670883a5b35d42f3125d611f5a4aa14f (diff) |
libbpf: mark bpf_iter_num_{new,next,destroy} as __weak
Mark bpf_iter_num_{new,next,destroy}() kfuncs declared for
bpf_for()/bpf_repeat() macros as __weak to allow users to feature-detect
their presence and guard bpf_for()/bpf_repeat() loops accordingly for
backwards compatibility with old kernels.
Now that libbpf supports kfunc calls poisoning and better reporting of
unresolved (but called) kfuncs, declaring number iterator kfuncs in
bpf_helpers.h won't degrade user experience and won't cause unnecessary
kernel feature dependencies.
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20230418002148.3255690-7-andrii@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/lib/bpf/bpf_helpers.h')
-rw-r--r-- | tools/lib/bpf/bpf_helpers.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/lib/bpf/bpf_helpers.h b/tools/lib/bpf/bpf_helpers.h index 525dec66c129..929a3baca8ef 100644 --- a/tools/lib/bpf/bpf_helpers.h +++ b/tools/lib/bpf/bpf_helpers.h @@ -293,9 +293,9 @@ enum libbpf_tristate { struct bpf_iter_num; -extern int bpf_iter_num_new(struct bpf_iter_num *it, int start, int end) __ksym; -extern int *bpf_iter_num_next(struct bpf_iter_num *it) __ksym; -extern void bpf_iter_num_destroy(struct bpf_iter_num *it) __ksym; +extern int bpf_iter_num_new(struct bpf_iter_num *it, int start, int end) __weak __ksym; +extern int *bpf_iter_num_next(struct bpf_iter_num *it) __weak __ksym; +extern void bpf_iter_num_destroy(struct bpf_iter_num *it) __weak __ksym; #ifndef bpf_for_each /* bpf_for_each(iter_type, cur_elem, args...) provides generic construct for |