lkml.org 
[lkml]   [2017]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: linux-next: build failure after merge of the net tree
From
Date
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)));
>
>

\
 
 \ /
  Last update: 2017-02-14 00:33    [W:0.102 / U:0.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site