Kconfig problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm having some problems with Kconfig - the dependency resolver seems to be
getting things wrong.

I have an option:

	config SYSTEM_TRUSTED_KEYRING
		bool "Provide system-wide ring of trusted keys"
		depends on KEYS
		depends on ASYMMETRIC_KEY_TYPE

which, as can be seen, depends on:

	menuconfig ASYMMETRIC_KEY_TYPE
		tristate "Asymmetric (public-key cryptographic) key type"
		depends on KEYS

But I can set CONFIG_SYSTEM_TRUSTED_KEYRING=y and CONFIG_ASYMMETRIC_KEY_TYPE=m
and the Kconfig processor is quite happy - but, of course, the kernel doesn't
link.

Yes, I could set ASYMMETRIC_KEY_TYPE to be a bool, but if
SYSTEM_TRUSTED_KEYRING is not set, there's no reason it couldn't be a module.

If I change the first option to:

	config SYSTEM_TRUSTED_KEYRING
		bool "Provide system-wide ring of trusted keys"
		select KEYS
		select ASYMMETRIC_KEY_TYPE

then it complains that there's a dependency loop.

	scripts/kconfig/conf  --silentoldconfig Kconfig
	crypto/Kconfig:15:error: recursive dependency detected!
	For a resolution refer to Documentation/kbuild/kconfig-language.txt
	subsection "Kconfig recursive dependency limitations"
	crypto/Kconfig:15:	symbol CRYPTO is selected by TRUSTED_KEYS
	For a resolution refer to Documentation/kbuild/kconfig-language.txt
	subsection "Kconfig recursive dependency limitations"
	security/keys/Kconfig:51:	symbol TRUSTED_KEYS depends on KEYS
	For a resolution refer to Documentation/kbuild/kconfig-language.txt
	subsection "Kconfig recursive dependency limitations"
	security/keys/Kconfig:5:	symbol KEYS is selected by SYSTEM_TRUSTED_KEYRING
	For a resolution refer to Documentation/kbuild/kconfig-language.txt
	subsection "Kconfig recursive dependency limitations"
	certs/Kconfig:17:	symbol SYSTEM_TRUSTED_KEYRING is selected by KEXEC_BZIMAGE_VERIFY_SIG
	For a resolution refer to Documentation/kbuild/kconfig-language.txt
	subsection "Kconfig recursive dependency limitations"
	arch/x86/Kconfig:1815:	symbol KEXEC_BZIMAGE_VERIFY_SIG depends on KEXEC_VERIFY_SIG
	For a resolution refer to Documentation/kbuild/kconfig-language.txt
	subsection "Kconfig recursive dependency limitations"
	arch/x86/Kconfig:1804:	symbol KEXEC_VERIFY_SIG depends on KEXEC_FILE
	For a resolution refer to Documentation/kbuild/kconfig-language.txt
	subsection "Kconfig recursive dependency limitations"
	arch/x86/Kconfig:1791:	symbol KEXEC_FILE depends on CRYPTO
	warning: (EXT4_ENCRYPTION && F2FS_FS_ENCRYPTION && EVM) selects ENCRYPTED_KEYS which has unmet direct dependencies (KEYS)
	warning: (MAC802154 && EXT4_ENCRYPTION && F2FS_FS_ENCRYPTION) selects CRYPTO_CTR which has unmet direct dependencies (CRYPTO)
	warning: (MODULE_SIG_SHA224 && MODULE_SIG_SHA256 && BT && LUSTRE_FS && EXT4_ENCRYPTION && F2FS_FS_ENCRYPTION && CIFS && ENCRYPTED_KEYS) selects CRYPTO_SHA256 which has unmet direct dependencies (CRYPTO)


If there's a dependency loop with select here, then there must be a dependency
loop with depends on here too, since A selects B is a dependency of A on B,
just as is A depends on B.

Any thoughts on how to resolve this?

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux