Andrii Nakryiko wrote: > If BPF code contains unused BPF subprogram and there are no other subprogram > calls (which can realistically happen in real-world applications given > sufficiently smart Clang code optimizations), libbpf will erroneously assume > that subprograms are entry-point programs and will attempt to load them with > UNSPEC program type. > > Fix by not relying on subcall instructions and rather detect it based on the > structure of BPF object's sections. > > Reported-by: Dmitrii Banshchikov <dbanschikov@xxxxxx> > Fixes: 9a94f277c4fb ("tools: libbpf: restore the ability to load programs from .text section") > Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx> > --- Acked-by: John Fastabend <john.fastabend@xxxxxxxxx>