John Fastabend <john.fastabend@xxxxxxxxx> writes: > Lorenzo Bianconi wrote: >> From: Toke Hoiland-Jorgensen <toke@xxxxxxxxxx> >> >> The check for tail call map compatibility ensures that tail calls only >> happen between maps of the same type. To ensure backwards compatibility for >> XDP multi-buffer we need a similar type of check for cpumap and devmap >> programs, so move the state from bpf_array_aux into bpf_map, add xdp_mb to >> the check, and apply the same check to cpumap and devmap. >> >> Co-developed-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx> >> Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx> >> Signed-off-by: Toke Hoiland-Jorgensen <toke@xxxxxxxxxx> >> --- > > ... > >> -bool bpf_prog_array_compatible(struct bpf_array *array, const struct bpf_prog *fp); >> +static inline bool map_type_contains_progs(struct bpf_map *map) > > Maybe map_type_check_needed()? Just noticing that devmap doesn't contain > progs. Ah, but it does :) See: fbee97feed9b ("bpf: Add support to attach bpf program to a devmap entry") Indeed this feature is why this check is needed, so I think the name is accurate... -Toke