Em Wed, Aug 28, 2019 at 02:03:06PM -0700, Julia Kartseva escreveu: > Add cases to switch statements in probe_load, bpf_prog_type__needs_kver > bpf_probe_map_type to fix enumeration value not handled in switch > compilation error. > prog_type_name array in bpftool/main.h doesn't have __MAX_BPF_PROG_TYPE > entity, same for map, so probe won't be called. Shouldn't this be added when adding that __MAX_BPF_PROG_TYPE value to the enum? Otherwise the build will fail when __MAX_BPF_PROG_TYPE is added but not handled in the switches. I.e. the tree should build patch by patch, not just at the end of patch series. - Arnaldo > Signed-off-by: Julia Kartseva <hex@xxxxxx> > --- > tools/lib/bpf/libbpf.c | 1 + > tools/lib/bpf/libbpf_probes.c | 2 ++ > 2 files changed, 3 insertions(+) > > diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c > index 2233f919dd88..72e6e5eb397f 100644 > --- a/tools/lib/bpf/libbpf.c > +++ b/tools/lib/bpf/libbpf.c > @@ -3580,6 +3580,7 @@ static bool bpf_prog_type__needs_kver(enum bpf_prog_type type) > case BPF_PROG_TYPE_PERF_EVENT: > case BPF_PROG_TYPE_CGROUP_SYSCTL: > case BPF_PROG_TYPE_CGROUP_SOCKOPT: > + case __MAX_BPF_PROG_TYPE: > return false; > case BPF_PROG_TYPE_KPROBE: > default: > diff --git a/tools/lib/bpf/libbpf_probes.c b/tools/lib/bpf/libbpf_probes.c > index 4b0b0364f5fc..8f2ba6a457ac 100644 > --- a/tools/lib/bpf/libbpf_probes.c > +++ b/tools/lib/bpf/libbpf_probes.c > @@ -102,6 +102,7 @@ probe_load(enum bpf_prog_type prog_type, const struct bpf_insn *insns, > case BPF_PROG_TYPE_FLOW_DISSECTOR: > case BPF_PROG_TYPE_CGROUP_SYSCTL: > case BPF_PROG_TYPE_CGROUP_SOCKOPT: > + case __MAX_BPF_PROG_TYPE: > default: > break; > } > @@ -250,6 +251,7 @@ bool bpf_probe_map_type(enum bpf_map_type map_type, __u32 ifindex) > case BPF_MAP_TYPE_XSKMAP: > case BPF_MAP_TYPE_SOCKHASH: > case BPF_MAP_TYPE_REUSEPORT_SOCKARRAY: > + case __MAX_BPF_MAP_TYPE: > default: > break; > } > -- > 2.17.1 -- - Arnaldo