On Tue, May 30, 2017 at 02:37:51PM +0200, Jesper Dangaard Brouer wrote: > An eBPF ELF file generated with LLVM can contain several program > section, which can be used for bpf tail calls. The bpf prog file > descriptors are accessible via array prog_fd[]. > > At-least XDP samples assume ordering, and uses prog_fd[0] is the main > XDP program to attach. The actual order of array prog_fd[] depend on > whether or not a bpf program section is referencing any maps or not. > Not using a map result in being loaded/processed after all other > prog section. Thus, this can lead to some very strange and hard to > debug situation, as the user can only see a FD and cannot correlated > that with the ELF section name. > > The fix is rather simple, and even removes duplicate memcmp code. > Simply load program sections as the last step, instead of > load_and_attach while processing the relocation section. > > When working with tail calls, it become even more essential that the > order of prog_fd[] is consistant, like the current dependency of the > map_fd[] order. > > Signed-off-by: Jesper Dangaard Brouer <bro...@redhat.com>
Looks fine, but imo net-next is better, since it's not a bugfix to anything in the net tree, but a general improvement. Acked-by: Alexei Starovoitov <a...@kernel.org>