lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 2 Sep 2020 13:58:50 -0700
From:   Andrii Nakryiko <andrii.nakryiko@...il.com>
To:     "Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com>
Cc:     bpf <bpf@...r.kernel.org>, Networking <netdev@...r.kernel.org>,
        Alexei Starovoitov <alexei.starovoitov@...il.com>,
        Daniel Borkmann <daniel@...earbox.net>,
        Jiri Olsa <jolsa@...hat.com>,
        Vaidyanathan Srinivasan <svaidy@...ux.ibm.com>
Subject: Re: [PATCH] libbpf: Remove arch-specific include path in Makefile

On Wed, Sep 2, 2020 at 1:43 AM Naveen N. Rao
<naveen.n.rao@...ux.vnet.ibm.com> wrote:
>
> Ubuntu mainline builds for ppc64le are failing with the below error (*):
>     CALL    /home/kernel/COD/linux/scripts/atomic/check-atomics.sh
>     DESCEND  bpf/resolve_btfids
>
>   Auto-detecting system features:
>   ...                        libelf: [ [32mon[m  ]
>   ...                          zlib: [ [32mon[m  ]
>   ...                           bpf: [ [31mOFF[m ]
>
>   BPF API too old
>   make[6]: *** [Makefile:295: bpfdep] Error 1
>   make[5]: *** [Makefile:54: /home/kernel/COD/linux/debian/build/build-generic/tools/bpf/resolve_btfids//libbpf.a] Error 2
>   make[4]: *** [Makefile:71: bpf/resolve_btfids] Error 2
>   make[3]: *** [/home/kernel/COD/linux/Makefile:1890: tools/bpf/resolve_btfids] Error 2
>   make[2]: *** [/home/kernel/COD/linux/Makefile:335: __build_one_by_one] Error 2
>   make[2]: Leaving directory '/home/kernel/COD/linux/debian/build/build-generic'
>   make[1]: *** [Makefile:185: __sub-make] Error 2
>   make[1]: Leaving directory '/home/kernel/COD/linux'
>
> resolve_btfids needs to be build as a host binary and it needs libbpf.
> However, libbpf Makefile hardcodes an include path utilizing $(ARCH).
> This results in mixing of cross-architecture headers resulting in a
> build failure.
>
> The specific header include path doesn't seem necessary for a libbpf
> build. Hence, remove the same.
>
> (*) https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.9-rc3/ppc64el/log
>
> Reported-by: Vaidyanathan Srinivasan <svaidy@...ux.ibm.com>
> Signed-off-by: Naveen N. Rao <naveen.n.rao@...ux.vnet.ibm.com>
> ---

This seems to still build fine for me, so I seems fine. Not sure why
that $(ARCH)/include/uapi path is there.

Acked-by: Andrii Nakryiko <andriin@...com>

> This is a simpler fix that seems to work and I saw the proper headers
> from within tools/ being included in both cross-architecture builds as
> well as a native ppc64le build. I am not sure if there is a better way
> to ask kbuild to build resolve_btfids/libbpf for the host architecture,
> and if that will set $(ARCH) appropriately.
>
> - Naveen
>
>
>  tools/lib/bpf/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index adbe994610f2..fccc4dcda4b6 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -62,7 +62,7 @@ FEATURE_USER = .libbpf
>  FEATURE_TESTS = libelf zlib bpf
>  FEATURE_DISPLAY = libelf zlib bpf
>
> -INCLUDES = -I. -I$(srctree)/tools/include -I$(srctree)/tools/arch/$(ARCH)/include/uapi -I$(srctree)/tools/include/uapi
> +INCLUDES = -I. -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi
>  FEATURE_CHECK_CFLAGS-bpf = $(INCLUDES)
>
>  check_feat := 1
>
> base-commit: 0697fecf7ecd8abf70d0f46e6a352818e984cc9f
> --
> 2.25.4
>

Powered by blists - more mailing lists