On Wed, Jan 3, 2024 at 3:51 PM Eduard Zingerman <eddyz87@xxxxxxxxx> wrote: > > On Wed, 2024-01-03 at 15:17 -0800, Andrii Nakryiko wrote: > [...] > > > However, the transformation of the sub-program parameters happens > > > unconditionally. So it should be possible to read BTF for some of the > > > programs after they are loaded and check if transformation is applied > > > as expected. Thus allowing to check __arg_ctx handling on libbpf side > > > w/o the need to run on old kernel. > > > > Yes, but it's bpf_prog_info to get func_info (actually two calls due > > to how API is), parse func_info (pain without libbpf internal helpers > > from libbpf_internal.h, and with it's more coupling) to find subprog's > > func BTF ID and then check BTF. > > > > It's so painful that I don't think it's worth it given we'll test this > > in libbpf CI (and I did manual check locally as well). > > > > Also, nothing actually prevents us from not doing this if the kernel > > supports __arg_ctx natively, which is just a painful feature detector > > to write, using low-level APIs, which is why I decided that it's > > simpler to just do this unconditionally. > > I agree that there is no need for feature detection in this case. > ok > > > I think it's worth it to add such test, wdyt? > > > > > > > I feel like slacking and not adding this :) This will definitely fail > > in libbpf CI, if it's wrong. > > Very few people look at libbpf CI results and those results would be > available only after sync. > > Idk, I think that some form of testing is necessary for kernel CI. > Either this, or an additional job that executes selected set of tests > on old kernel. Alright, I'll add a test then.