On Fri, Oct 1, 2021 at 6:18 PM Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx> wrote: > > This set enables kernel module function calls, and also modifies verifier logic > to permit invalid kernel function calls as long as they are pruned as part of > dead code elimination. This is done to provide better runtime portability for > BPF objects, which can conditionally disable parts of code that are pruned later > by the verifier (e.g. const volatile vars, kconfig options). libbpf > modifications are made along with kernel changes to support module function > calls. > > It also converts TCP congestion control objects to use the module kfunc support > instead of relying on IS_BUILTIN ifdef. > > Changelog: > ---------- > v6 -> v7 > v6: https://lore.kernel.org/bpf/20210930062948.1843919-1-memxor@xxxxxxxxx > > * Let __bpf_check_kfunc_call take kfunc_btf_id_list instead of generating > callbacks (Andrii) > * Rename it to bpf_check_mod_kfunc_call to reflect usage > * Remove OOM checks (Alexei) > * Remove resolve_btfids invocation for bpf_testmod (Andrii) > * Move fd_array_cnt initialization near fd_array alloc (Andrii) > * Rename helper to btf_find_by_name_kind and pass start_id (Andrii) > * memset when data is NULL in add_data (Alexei) > * Fix other nits Looking good now. Applied. Thanks