On Fri, Jul 24, 2020 at 2:07 AM Quentin Monnet <quentin@xxxxxxxxxxxxx> wrote: > > For probing program and map types, bpftool loops on type values and uses > the relevant type name in prog_type_name[] or map_type_name[]. To ensure > the name exists, we exit from the loop if we go over the size of the > array. > > However, this is not enough in the case where the arrays have "holes" in > them, program or map types for which they have no name, but not at the > end of the list. This is currently the case for BPF_PROG_TYPE_LSM, not > known to bpftool and which name is a null string. When probing for > features, bpftool attempts to strlen() that name and segfaults. > > Let's fix it by skipping probes for "unknown" program and map types, > with an informational message giving the numeral value in that case. > > Fixes: 93a3545d812a ("tools/bpftool: Add name mappings for SK_LOOKUP prog and attach type") > Reported-by: Paul Chaignon <paul@xxxxxxxxx> > Signed-off-by: Quentin Monnet <quentin@xxxxxxxxxxxxx> Acked-by: Song Liu <songliubraving@xxxxxx>