android_kernel_motorola_sm6375/init
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Masahiro Yamada 223f497f05 bpfilter: match bit size of bpfilter_umh to that of the kernel
[ Upstream commit 9371f86ecb60f6f1f120e3d93fe892bbb70d04c0 ]

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>
Stable-dep-of: 02e9a22ceef0 ("kbuild: hdrcheck: fix cross build with clang")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-07-17 18:24:51 +02:00
..
calibrate.c
do_mounts.c rootfs: Fix support for rootfstype= when root= is given 2024-01-25 14:34:30 -08:00
do_mounts.h
do_mounts_initrd.c
do_mounts_md.c
do_mounts_rd.c
init_task.c fgraph: Initialize tracing_graph_pause at task creation 2021-02-10 09:25:29 +01:00
initramfs.c initramfs: avoid filename buffer overrun 2024-12-14 19:44:21 +01:00
Kconfig bpfilter: match bit size of bpfilter_umh to that of the kernel 2025-07-17 18:24:51 +02:00
main.c x86/mm: Initialize text poking earlier 2023-08-08 19:56:36 +02:00
Makefile
noinitramfs.c
version.c