On Mon, 2024-07-08 at 13:45 -0700, Andrii Nakryiko wrote: > Old versions of libbpf don't handle varying sizes of bpf_map_skeleton > struct correctly. As such, BPF skeleton generated by newest bpftool > might not be compatible with older libbpf (though only when libbpf is > used as a shared library), even though it, by design, should. > > Going forward libbpf will be fixed, plus we'll release bug fixed > versions of relevant old libbpfs, but meanwhile try to mitigate from > bpftool side by conservatively assuming older and smaller definition of > bpf_map_skeleton, if possible. Meaning, if there are no struct_ops maps. > > If there are struct_ops, then presumably user would like to have > auto-attaching logic and struct_ops map link placeholders, so use the > full bpf_map_skeleton definition in that case. > > Acked-by: Quentin Monnet <qmo@xxxxxxxxxx> > Co-developed-by: Mykyta Yatsenko <yatsenko@xxxxxxxx> > Signed-off-by: Mykyta Yatsenko <yatsenko@xxxxxxxx> > Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx> > --- Acked-by: Eduard Zingerman <eddyz87@xxxxxxxxx>