On 11 Nov 2022, Luis Chamberlain outgrape: > On Fri, Nov 11, 2022 at 01:47:03PM +0000, Nick Alcock wrote: >> +arch/x86/crypto/libblake2s-x86_64.o: arch/x86/crypto/blake2s-core.o arch/x86/crypto/blake2s-glue.o >> >> But... >> >> obj-$(CONFIG_CRYPTO_BLAKE2S_X86) += libblake2s-x86_64.o >> libblake2s-x86_64-y := blake2s-core.o blake2s-glue.o >> >> config CRYPTO_BLAKE2S_X86 >> bool "Hash functions: BLAKE2s (SSSE3/AVX-512)" >> >> This cannot be built as a module. > > mcgrof@fulton ~/linux (git::modules-next)$ git grep MODULE_LICENSE arch/x86/crypto/blake2s-* > arch/x86/crypto/blake2s-glue.c:MODULE_LICENSE("GPL v2"); > > Try removing that. OK, that works! So if we're using the presence of MODULE_LICENSE to indicate that something is potentially modular, I guess this means I need to do a sweep through the kernel and find everywhere that cites a MODULE_LICENSE and cannot be built as a module before this will say things are modules that really are. Should be easy enough to do semiautomatically, I hope (by comparison with the output of the old thing using tristate on a make allyesconfig build). Hm. Maybe we need some sort of checking target that can use something like the old tristate recursor to detect this problem to stop it recurring. (Said target would only be run when requested, so it wouldn't slow the build down the way it used to.) ... assuming that people even think the presence of a MODULE_LICENSE in things that can't be modular is actually a problem. If it's not, my chances of getting fixes for all these cases in seems low.