linux/net/bpfilter
Masahiro Yamada 9371f86ecb bpfilter: match bit size of bpfilter_umh to that of the kernel
bpfilter_umh is built for the default machine bit of the compiler,
which may not match to the bit size of the kernel.

This happens in the scenario below:

You can use biarch GCC that defaults to 64-bit for building the 32-bit
kernel. In this case, Kbuild passes -m32 to teach the compiler to
produce 32-bit kernel space objects. However, it is missing when
building bpfilter_umh. It is built as a 64-bit ELF, and then embedded
into the 32-bit kernel.

The 32-bit kernel and 64-bit umh is a bad combination.

In theory, we can have 32-bit umh running on 64-bit kernel, but we do
not have a good reason to support such a usecase.

The best is to match the bit size between them.

Pass -m32 or -m64 to the umh build command if it is found in
$(KBUILD_CFLAGS). Evaluate CC_CAN_LINK against the kernel bit-size.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2020-05-17 18:52:01 +09:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
bpfilter_kern.c signal/bpfilter: Fix bpfilter_kernl to use send_sig not force_sig 2019-05-27 09:36:28 -05:00
bpfilter_umh_blob.S net: bpfilter: change section name of bpfilter UMH blob. 2019-01-16 15:46:46 -08:00
Kconfig init/Kconfig: add CONFIG_CC_CAN_LINK 2019-07-08 02:25:59 +09:00
main.c net/bpfilter: remove superfluous testing message 2020-03-31 10:07:51 -07:00
Makefile bpfilter: match bit size of bpfilter_umh to that of the kernel 2020-05-17 18:52:01 +09:00
msgfmt.h