Messages in this thread | | | Subject | Re: linux-next: build failure after merge of the net tree | From | Alexei Starovoitov <> | Date | Mon, 13 Feb 2017 15:31:56 -0800 |
| |
On 2/13/17 2:12 PM, Stephen Rothwell wrote: > Hi all, > > After merging the net tree, today's linux-next build (powerpc64le perf) > failed like this: > > Warning: tools/include/uapi/linux/bpf.h differs from kernel > bpf.c: In function 'bpf_prog_attach': > bpf.c:180:6: error: 'union bpf_attr' has no member named 'attach_flags'; did you mean 'map_flags'? > attr.attach_flags = flags; > ^ > > Caused by commit > > 7f677633379b ("bpf: introduce BPF_F_ALLOW_OVERRIDE flag") > > Unfortunately, the perf header files are kept separate from the kernel > header files proper and are not automatically copied over :-( > > I have applied the following build fix patch for today.
Yes. Thanks for the fix. It's more than a merge conflict. I should have added it in the first place. Now we have both perf and samples/bpf depend on tools/lib/bpf and I simply forgot about this dependency, since building perf is not my typical workflow.
Joe, can you think of a way to make tools/lib/bpf to use tools/include only? Right now we just pull tools/lib/bpf/bpf.o in samples/bpf/Makefile and that's a hack that caused this issue. samples/bpf/ needs to depend on libbpf.a properly.
For the patch: Acked-by: Alexei Starovoitov <ast@kernel.org>
Dave, can you apply it to 'net' tree, since the patch properly made it into patchwork ? or I can resubmit it. Thanks!
> From: Stephen Rothwell <sfr@canb.auug.org.au> > Date: Tue, 14 Feb 2017 08:22:20 +1100 > Subject: [PATCH] bpf: kernel header files need to be copied into the tools directory > > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> > --- > tools/include/uapi/linux/bpf.h | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h > index 0eb0e87dbe9f..d2b0ac799d03 100644 > --- a/tools/include/uapi/linux/bpf.h > +++ b/tools/include/uapi/linux/bpf.h > @@ -116,6 +116,12 @@ enum bpf_attach_type { > > #define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE > > +/* If BPF_F_ALLOW_OVERRIDE flag is used in BPF_PROG_ATTACH command > + * to the given target_fd cgroup the descendent cgroup will be able to > + * override effective bpf program that was inherited from this cgroup > + */ > +#define BPF_F_ALLOW_OVERRIDE (1U << 0) > + > #define BPF_PSEUDO_MAP_FD 1 > > /* flags for BPF_MAP_UPDATE_ELEM command */ > @@ -171,6 +177,7 @@ union bpf_attr { > __u32 target_fd; /* container object to attach to */ > __u32 attach_bpf_fd; /* eBPF program to attach */ > __u32 attach_type; > + __u32 attach_flags; > }; > } __attribute__((aligned(8))); > >
| |