From: Alexei Starovoitov Date: Tue, 18 Apr 2023 19:45:11 +0000 (-0700) Subject: Merge branch 'Provide bpf_for() and bpf_for_each() by libbpf' X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=276dcdd1a8f33047524dd0ae517290f0842fe4b8;p=linux.git Merge branch 'Provide bpf_for() and bpf_for_each() by libbpf' Andrii Nakryiko says: ==================== This patch set moves bpf_for(), bpf_for_each(), and bpf_repeat() macros from selftests-internal bpf_misc.h header to libbpf-provided bpf_helpers.h header. To do this in a way to allow users to feature-detect and guard such bpf_for()/bpf_for_each() uses on old kernels we also extend libbpf to improve unresolved kfunc calls handling and reporting. This lets us mark bpf_iter_num_{new,next,destroy}() declarations as __weak, and thus not fail program loading outright if such kfuncs are missing on the host kernel. Patches #1 and #2 do some simple clean ups and logging improvements. Patch #3 adds kfunc call poisoning and log fixup logic and is the hear of this patch set, effectively. Patch #4 adds selftest for this logic. Patches #4 and #5 move bpf_for()/bpf_for_each()/bpf_repeat() into bpf_helpers.h header and mark kfuncs as __weak to allow users to feature-detect and guard their uses. ==================== Signed-off-by: Alexei Starovoitov --- 276dcdd1a8f33047524dd0ae517290f0842fe4b8