On Wed, Oct 26, 2016 at 12:37:53AM +0200, Daniel Borkmann wrote: > Some of the sample files are causing issues when they are loaded with tc > and cls_bpf, meaning tc bails out while trying to parse the resulting ELF > file as program/map/etc sections are not present, which can be easily > spotted with readelf(1). > > Currently, BPF samples are including some of the kernel headers and mid > term we should change them to refrain from this, really. When dynamic > debugging is enabled, we bail out due to undeclared KBUILD_MODNAME, which > is easily overlooked in the build as clang spills this along with other > noisy warnings from various header includes, and llc still generates an > ELF file with mentioned characteristics. For just playing around with BPF > examples, this can be a bit of a hurdle to take. > > Just add a fake KBUILD_MODNAME as a band-aid to fix the issue, same is > done in xdp*_kern samples already. > > Fixes: 65d472fb007d ("samples/bpf: add 'pointer to packet' tests") > Fixes: 6afb1e28b859 ("samples/bpf: Add tunnel set/get tests.") > Fixes: a3f74617340b ("cgroup: bpf: Add an example to do cgroup checking in > BPF") > Reported-by: Chandrasekar Kannan <ckan...@console.to> > Signed-off-by: Daniel Borkmann <dan...@iogearbox.net> > --- > samples/bpf/parse_ldabs.c | 1 + > samples/bpf/parse_simple.c | 1 + > samples/bpf/parse_varlen.c | 1 + > samples/bpf/tcbpf1_kern.c | 1 + > samples/bpf/tcbpf2_kern.c | 1 + > samples/bpf/test_cgrp2_tc_kern.c | 1 + > 6 files changed, 6 insertions(+)
It's also needed for all of tracex*_kern.c, right? For networking samlpes we probably should get rid of kernel headers. I guess they were there by copy-paste mistake from tracing, since tracing samples actually need to include them, since they do bpf_probe_read into kernel data structures. For this patch in the mean time: Acked-by: Alexei Starovoitov <a...@kernel.org>