On Sat, Feb 19, 2022 at 01:49:04AM IST, Alexander Egorenkov wrote: > > Hi, > > we are having a problem loading nf_conntrack on linux-next: > > # modprobe nf_conntrack > modprobe: ERROR: could not insert 'nf_conntrack': Unknown symbol in module, or unknown parameter (see dmesg) > modprobe: ERROR: Error running install command '/sbin/modprobe --ignore-install nf_conntrack && /sbin/sysctl --quiet --pattern 'net[.]netfilter[.]nf_conntrack.*' --system' for module nf_conntrack: retcode 1 > modprobe: ERROR: could not insert 'nf_conntrack': Invalid argument > > # dmesg > [ 3728.188969] missing module BTF, cannot register kfuncs > [ 3748.208674] missing module BTF, cannot register kfuncs > [ 3748.567123] missing module BTF, cannot register kfuncs > [ 3873.597276] missing module BTF, cannot register kfuncs > [ 3874.017125] missing module BTF, cannot register kfuncs > [ 3882.637097] missing module BTF, cannot register kfuncs > [ 3883.507213] missing module BTF, cannot register kfuncs > [ 3883.876878] missing module BTF, cannot register kfuncs > > # zgrep BTF /proc/config.gz > CONFIG_DEBUG_INFO_BTF=y > CONFIG_PAHOLE_HAS_SPLIT_BTF=y > CONFIG_DEBUG_INFO_BTF_MODULES=y > > It seems that nf_conntrack.ko is missing a .BTF section > which is present in debuginfo within > /usr/lib/debug/lib/modules/*/kernel/net/netfilter/nf_conntrack.ko.debug instead. > > Am i correct in assuming that this is not supported (yet) ? > > We use pahole 1.22 and build linux-next on Fedora 35 as a set of custom > packages. Architecture is s390x. > +Cc Ilya Thanks for the report, Alex. My assumption was that if DEBUG_INFO_BTF options was enabled, and BTF was not present, it is a problem, but it seems it can happen even when the options are enabled. I guess if .BTF section isn't supported/emitted on s390x, we have to relax the error and print a warning and ignore it, but I am not sure. Ilya would probably know the current status. We have already relaxed it once in (bpf-next): c446fdacb10d ("bpf: fix register_btf_kfunc_id_set for !CONFIG_DEBUG_INFO_BTF") If this doesn't work on s390x, we should probably just print a warning when CONFIG_DEBUG_INFO_BTF is enabled and btf == NULL, and return 0. > Thanks > Regards > Alex > -- Kartikeya