Messages in this thread | | | Date | Fri, 20 Oct 2023 22:06:56 +0200 | From | "Arnd Bergmann" <> | Subject | Re: [PATCH] bpf: hide cgroup functions for configs without cgroups |
| |
On Fri, Oct 20, 2023, at 19:26, Alexei Starovoitov wrote: > On Fri, Oct 20, 2023 at 6:27 AM Arnd Bergmann <arnd@kernel.org> wrote: >> @@ -904,6 +904,7 @@ __diag_push(); >> __diag_ignore_all("-Wmissing-prototypes", >> "Global functions as their definitions will be in vmlinux BTF"); >> >> +#ifdef CONFIG_CGROUPS >> __bpf_kfunc int bpf_iter_css_task_new(struct bpf_iter_css_task *it, >> struct cgroup_subsys_state *css, unsigned int flags) >> { >> @@ -947,6 +948,7 @@ __bpf_kfunc void bpf_iter_css_task_destroy(struct bpf_iter_css_task *it) >> css_task_iter_end(kit->css_it); >> bpf_mem_free(&bpf_global_ma, kit->css_it); >> } >> +#endif > > Did you actually test build it without cgroups and with bpf+btf? > I suspect the resolve_btfid step should be failing the build. > It needs > #ifdef CONFIG_CGROUPS > around BTF_ID_FLAGS(func, bpf_iter_css_task*
No, I did test with a few hundred random configurations, but it looks like CONFIG_DEBUG_INFO_BTF is always disabled in my builds because I force-disable CONFIG_DEBUG_INFO to speed up my builds.
I tried reproducing it with CONFIG_DEBUG_INFO_BTF enabled and it didn't immediately fail but it clearly makes sense that we'd need another #ifdef.
Arnd
| |