ima: rework CONFIG_IMA dependency block
authorArnd Bergmann <arnd@arndb.de>
Wed, 27 Sep 2023 07:22:14 +0000 (09:22 +0200)
committerMimi Zohar <zohar@linux.ibm.com>
Wed, 27 Sep 2023 15:52:12 +0000 (11:52 -0400)
commit91e326563ee34509c35267808a4b1b3ea3db62a8
tree27df838034c7198abea6c66e7f45381c408b2ab1
parentbe210c6d3597faf330cb9af33b9f1591d7b2a983
ima: rework CONFIG_IMA dependency block

Changing the direct dependencies of IMA_BLACKLIST_KEYRING and
IMA_LOAD_X509 caused them to no longer depend on IMA, but a
a configuration without IMA results in link failures:

arm-linux-gnueabi-ld: security/integrity/iint.o: in function `integrity_load_keys':
iint.c:(.init.text+0xd8): undefined reference to `ima_load_x509'

aarch64-linux-ld: security/integrity/digsig_asymmetric.o: in function `asymmetric_verify':
digsig_asymmetric.c:(.text+0x104): undefined reference to `ima_blacklist_keyring'

Adding explicit dependencies on IMA would fix this, but a more reliable
way to do this is to enclose the entire Kconfig file in an 'if IMA' block.
This also allows removing the existing direct dependencies.

Fixes: be210c6d3597f ("ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
security/integrity/ima/Kconfig