Re: [PATCH 04/16] net: bpfilter: use 'userprogs' syntax to build bpfilter_umh
From: Michal Kubecek <hidden>
Date: 2020-06-08 11:56:35
Also in:
bpf, linux-kbuild, lkml
On Thu, Apr 23, 2020 at 04:39:17PM +0900, Masahiro Yamada wrote:
quoted hunk ↗ jump to hunk
The user mode helper should be compiled for the same architecture as the kernel. This Makefile reuses the 'hostprogs' syntax by overriding HOSTCC with CC. Now that Kbuild provides the syntax 'userprogs', use it to fix the Makefile mess. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reported-by: kbuild test robot <redacted> --- net/bpfilter/Makefile | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-)diff --git a/net/bpfilter/Makefile b/net/bpfilter/Makefile index 36580301da70..6ee650c6badb 100644 --- a/net/bpfilter/Makefile +++ b/net/bpfilter/Makefile@@ -3,17 +3,14 @@ # Makefile for the Linux BPFILTER layer. # -hostprogs := bpfilter_umh +userprogs := bpfilter_umh bpfilter_umh-objs := main.o -KBUILD_HOSTCFLAGS += -I $(srctree)/tools/include/ -I $(srctree)/tools/include/uapi -HOSTCC := $(CC) +user-ccflags += -I $(srctree)/tools/include/ -I $(srctree)/tools/include/uapi -ifeq ($(CONFIG_BPFILTER_UMH), y) -# builtin bpfilter_umh should be compiled with -static +# builtin bpfilter_umh should be linked with -static # since rootfs isn't mounted at the time of __init # function is called and do_execv won't find elf interpreter -KBUILD_HOSTLDFLAGS += -static -endif +bpfilter_umh-ldflags += -static $(obj)/bpfilter_umh_blob.o: $(obj)/bpfilter_umh
Hello, I just noticed that this patch (now in mainline as commit 8a2cc0505cc4) drops the test if CONFIG_BPFILTER_UMH is "y" so that -static is now passed to the linker even if bpfilter_umh is built as a module which wasn't the case in v5.7. This is not mentioned in the commit message and the comment still says "*builtin* bpfilter_umh should be linked with -static" so this change doesn't seem to be intentional. Did I miss something? Michal Kubecek