OpenWrt/LEDE Project

  • Status Unconfirmed
  • Percent Complete
    0%
  • Task Type Bug Report
  • Category Kernel
  • Assigned To No-one
  • Operating System All
  • Severity High
  • Priority Very Low
  • Reported Version Trunk
  • Due in Version Undecided
  • Due Date Undecided
  • Private
Attached to Project: OpenWrt/LEDE Project
Opened by Philip Prindeville - 22.04.2020

FS#3038 - Building master for x86_64/generic fails with missing module nft_reject_ipv4.ko

I’m building with the attached .config and kernel-config files on “master”, and getting the following failure:

make[3]: Entering directory ‘/home/philipp/lede2/package/kernel/linux’ mkdir -p /home/philipp/lede2/staging_dir/target-x86_64_musl/root-x86/stamp

SHELL= flock /home/philipp/lede2/tmp/.root-copy.flock -c ‘cp -fpR /home/philipp/lede2/build_dir/target-x86_64_musl/linux-x86_64/packages/.pkgdir/kernel/. /home/philipp/lede2/staging_dir/target-x86_64_musl/root-x86/’ touch /home/philipp/lede2/staging_dir/target-x86_64_musl/root-x86/stamp/.kernel_installed
ERROR: module ‘/home/philipp/lede2/build_dir/target-x86_64_musl/linux-x86_64/linux-5.4.34/net/ipv4/netfilter/nft_reject_ipv4.ko’ is missing.
modules/netfilter.mk:1068: recipe for target ‘/home/philipp/lede2/bin/targets/x86/64/packages/kmod-nft-core_5.4.34-1_x86_64.ipk’ failed
make[3]: * [/home/philipp/lede2/bin/targets/x86/64/packages/kmod-nft-core_5.4.34-1_x86_64.ipk] Error 1
make[3]: Leaving directory ‘/home/philipp/lede2/package/kernel/linux’ time: package/kernel/linux/compile#4.14#0.22#4.68
package/Makefile:111: recipe for target ‘package/kernel/linux/compile’ failed
make[2]:
* [package/kernel/linux/compile] Error 2
make[2]: Leaving directory ‘/home/philipp/lede2’ package/Makefile:107: recipe for target ‘/home/philipp/lede2/staging_dir/target-x86_64_musl/stamp/.package_compile’ failed
make[1]: * [/home/philipp/lede2/staging_dir/target-x86_64_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory ‘/home/philipp/lede2’ /home/philipp/lede2/include/toplevel.mk:218: recipe for target ‘world’ failed
make:
* [world] Error 2

Looking through the sources, I see the module being copied, but I don’t see the requisite kernel configuration to force it to be built:

philipp@ubuntu16:~/lede2$ fgrep -i -r nft_reject_ipv4 Makefile rules.mk Config.in config include package target
include/netfilter.mk:$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REJECT, $(P_XT)nft_reject $(P_V4)nft_reject_ipv4 $(P_V6)nft_reject_ipv6),))
philipp@ubuntu16:~/lede2$

I do see config state for nft_reject.ko however:

philipp@ubuntu16:~/lede2$ grep -i -r ‘nft_reject’ Makefile rules.mk Config.in config include package target
include/netfilter.mk:$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REJECT, $(P_XT)nft_reject $(P_V4)nft_reject_ipv4 $(P_V6)nft_reject_ipv6),))
include/netfilter.mk:$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REJECT_INET, $(P_XT)nft_reject_inet),))
include/netfilter.mk:$(eval $(if $(NF_KMOD),$(call nf_add,NFT_BRIDGE,CONFIG_NFT_BRIDGE_REJECT, $(P_EBT)nft_reject_bridge),))
philipp@ubuntu16:~/lede2$

and the synthesized .config in the kernel directory and the built modules are:

philipp@ubuntu16:~/lede2$ pushd build_dir/target-x86_64_musl/linux-x86_64/linux-5.4.34/
~/lede2/build_dir/target-x86_64_musl/linux-x86_64/linux-5.4.34 ~/lede2
philipp@ubuntu16:~/lede2/build_dir/target-x86_64_musl/linux-x86_64/linux-5.4.34$ grep NFT_REJECT .config*
.config:CONFIG_NFT_REJECT=m
.config.old:CONFIG_NFT_REJECT=m
.config.old:CONFIG_NFT_REJECT_INET=m
.config.override:CONFIG_NFT_REJECT=m
.config.override:CONFIG_NFT_REJECT_INET=m
.config.prev:CONFIG_NFT_REJECT=m
.config.prev:CONFIG_NFT_REJECT_INET=m
.config.set:CONFIG_NFT_REJECT=m
.config.set:CONFIG_NFT_REJECT_INET=m
philipp@ubuntu16:~/lede2/build_dir/target-x86_64_musl/linux-x86_64/linux-5.4.34$ find net/netfilter net/ipv[46]/netfilter -name “nft_reject*.ko” -ls

4498742    120 -rw-r--r--   1 philipp  philipp    120808 Apr 22 12:21 net/netfilter/nft_reject.ko

philipp@ubuntu16:~/lede2/build_dir/target-x86_64_musl/linux-x86_64/linux-5.4.34$

When I build, I get prompted for the following kernel symbols:

Verify kernel signature during kexec_file_load() syscall (KEXEC_SIG) [N/y/?] (NEW)

Netfilter nf_tables support (NF_TABLES) [M/n/y/?] m
Netfilter nf_tables set infrastructure (NF_TABLES_SET) [M/n/?] m
Netfilter nf_tables mixed IPv4/IPv6 tables support (NF_TABLES_INET) [N/y/?] (NEW)

IPv4 nf_tables support (NF_TABLES_IPV4) [N/y/?] (NEW)

IPv6 nf_tables support (NF_TABLES_IPV6) [N/y/?] (NEW)

Detect Hung Tasks (DETECT_HUNG_TASK) [Y/n/?] y
Default timeout for hung task detection (in seconds) (DEFAULT_HUNG_TASK_TIMEOUT) [120] (NEW)
Panic (Reboot) On Hung Tasks (BOOTPARAM_HUNG_TASK_PANIC) [N/y/?] (NEW)

which makes me wonder if part of the default kernel config is incorrect... including symbols like CONFIG_NFT_REJECT_IPV4, etc.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing