Message ID | 159371070880.18158.837974429614447605.stgit@john-XPS-13-9370 |
---|---|
State | Changes Requested |
Delegated to: | BPF Maintainers |
Headers | show |
Series | [bpf-next] bpf: fix bpftool without skeleton code enabled | expand |
On 7/2/20 10:25 AM, John Fastabend wrote: > Fix segfault from bpftool by adding emit_obj_refs_plain when skeleton > code is disabled. > > Tested by deleting BUILD_BPF_SKELS in Makefile. You probably hit this issue with a different way, right? Old clang, or anything? I would be good to clarify in the commit message. People in general do not tweak Makefile to find bugs, I guess. > > # ./bpftool prog show > Error: bpftool built without PID iterator support > 3: cgroup_skb tag 7be49e3934a125ba gpl > loaded_at 2020-07-01T08:01:29-0700 uid 0 > Segmentation fault > > Signed-off-by: John Fastabend <john.fastabend@gmail.com> Ack with request for better description in the commit message. Acked-by: Yonghong Song <yhs@fb.com> > --- > tools/bpf/bpftool/pids.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/bpf/bpftool/pids.c b/tools/bpf/bpftool/pids.c > index 2709be4de2b1..7d5416667c85 100644 > --- a/tools/bpf/bpftool/pids.c > +++ b/tools/bpf/bpftool/pids.c > @@ -19,6 +19,7 @@ int build_obj_refs_table(struct obj_refs_table *table, enum bpf_obj_type type) > return -ENOTSUP; > } > void delete_obj_refs_table(struct obj_refs_table *table) {} > +void emit_obj_refs_plain(struct obj_refs_table *table, __u32 id, const char *prefix) {} > > #else /* BPFTOOL_WITHOUT_SKELETONS */ > >
On Thu, Jul 2, 2020 at 10:25 AM John Fastabend <john.fastabend@gmail.com> wrote: > > Fix segfault from bpftool by adding emit_obj_refs_plain when skeleton > code is disabled. > > Tested by deleting BUILD_BPF_SKELS in Makefile. > > # ./bpftool prog show > Error: bpftool built without PID iterator support > 3: cgroup_skb tag 7be49e3934a125ba gpl > loaded_at 2020-07-01T08:01:29-0700 uid 0 > Segmentation fault > > Signed-off-by: John Fastabend <john.fastabend@gmail.com> > --- My bad, thanks for the fix! Acked-by: Andrii Nakryiko <andriin@fb.com> > tools/bpf/bpftool/pids.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/bpf/bpftool/pids.c b/tools/bpf/bpftool/pids.c > index 2709be4de2b1..7d5416667c85 100644 > --- a/tools/bpf/bpftool/pids.c > +++ b/tools/bpf/bpftool/pids.c > @@ -19,6 +19,7 @@ int build_obj_refs_table(struct obj_refs_table *table, enum bpf_obj_type type) > return -ENOTSUP; > } > void delete_obj_refs_table(struct obj_refs_table *table) {} > +void emit_obj_refs_plain(struct obj_refs_table *table, __u32 id, const char *prefix) {} > > #else /* BPFTOOL_WITHOUT_SKELETONS */ > >
diff --git a/tools/bpf/bpftool/pids.c b/tools/bpf/bpftool/pids.c index 2709be4de2b1..7d5416667c85 100644 --- a/tools/bpf/bpftool/pids.c +++ b/tools/bpf/bpftool/pids.c @@ -19,6 +19,7 @@ int build_obj_refs_table(struct obj_refs_table *table, enum bpf_obj_type type) return -ENOTSUP; } void delete_obj_refs_table(struct obj_refs_table *table) {} +void emit_obj_refs_plain(struct obj_refs_table *table, __u32 id, const char *prefix) {} #else /* BPFTOOL_WITHOUT_SKELETONS */
Fix segfault from bpftool by adding emit_obj_refs_plain when skeleton code is disabled. Tested by deleting BUILD_BPF_SKELS in Makefile. # ./bpftool prog show Error: bpftool built without PID iterator support 3: cgroup_skb tag 7be49e3934a125ba gpl loaded_at 2020-07-01T08:01:29-0700 uid 0 Segmentation fault Signed-off-by: John Fastabend <john.fastabend@gmail.com> --- tools/bpf/bpftool/pids.c | 1 + 1 file changed, 1 insertion(+)