On 12/11/18 6:48 PM, Eric Biggers wrote:
On Tue, Dec 11, 2018 at 05:52:11PM -0800, Guenter Roeck wrote:
Hi,

On Tue, Dec 04, 2018 at 03:26:46PM +0530, Chandan Rajendra wrote:
In order to have a common code base for fscrypt "post read" processing
for all filesystems which support encryption, this commit removes
filesystem specific build config option (e.g. CONFIG_EXT4_FS_ENCRYPTION)
and replaces it with a build option (i.e. CONFIG_FS_ENCRYPTION) whose
value affects all the filesystems making use of fscrypt.

Signed-off-by: Chandan Rajendra <chan...@linux.vnet.ibm.com>

this patch causes a recursive dependency when trying to build ia64 images.

make ARCH=ia64 allnoconfig:

scripts/kconfig/conf  --allnoconfig Kconfig
arch/ia64/Kconfig:126:error: recursive dependency detected!
arch/ia64/Kconfig:126:  choice <choice> contains symbol IA64_HP_SIM
arch/ia64/Kconfig:200:  symbol IA64_HP_SIM is part of choice PM
kernel/power/Kconfig:144:       symbol PM is selected by PM_SLEEP
kernel/power/Kconfig:104:       symbol PM_SLEEP depends on HIBERNATE_CALLBACKS
kernel/power/Kconfig:31:        symbol HIBERNATE_CALLBACKS is selected by 
HIBERNATION
kernel/power/Kconfig:34:        symbol HIBERNATION depends on SWAP
init/Kconfig:250:       symbol SWAP depends on BLOCK
block/Kconfig:5:        symbol BLOCK is selected by UBIFS_FS
fs/ubifs/Kconfig:1:     symbol UBIFS_FS depends on MISC_FILESYSTEMS
fs/Kconfig:220: symbol MISC_FILESYSTEMS is selected by ACPI_APEI
drivers/acpi/apei/Kconfig:8:    symbol ACPI_APEI depends on ACPI
drivers/acpi/Kconfig:9: symbol ACPI depends on ARCH_SUPPORTS_ACPI
drivers/acpi/Kconfig:6: symbol ARCH_SUPPORTS_ACPI is selected by IA64_HP_SIM
arch/ia64/Kconfig:200:  symbol IA64_HP_SIM is part of choice <choice>
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"

scripts/kconfig/Makefile:69: recipe for target 'allnoconfig' failed

Reverting the patch fixes the problem.


Thanks for the report.  Chandan, it appears the problem is UBIFS_FS selecting
BLOCK.  It's actually not necessary because now the parts of fs/crypto/ that
depend on BLOCK are separated out into a separate file fs/crypto/bio.c that is
only compiled with CONFIG_BLOCK.  So how about just removing the selection of
BLOCK from fs/ubifs/Kconfig:

        select BLOCK if FS_ENCRYPTION

The recursion is gone if I make this change.

Guenter

Reply via email to