ima: rework CONFIG_IMA dependency block
[ Upstream commit 91e326563ee34509c35267808a4b1b3ea3db62a8 ] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
77f82df960
commit
d8f2ba9ec3
@@ -29,9 +29,11 @@ config IMA
|
|||||||
to learn more about IMA.
|
to learn more about IMA.
|
||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
|
if IMA
|
||||||
|
|
||||||
config IMA_KEXEC
|
config IMA_KEXEC
|
||||||
bool "Enable carrying the IMA measurement list across a soft boot"
|
bool "Enable carrying the IMA measurement list across a soft boot"
|
||||||
depends on IMA && TCG_TPM && HAVE_IMA_KEXEC
|
depends on TCG_TPM && HAVE_IMA_KEXEC
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
TPM PCRs are only reset on a hard reboot. In order to validate
|
TPM PCRs are only reset on a hard reboot. In order to validate
|
||||||
@@ -43,7 +45,6 @@ config IMA_KEXEC
|
|||||||
|
|
||||||
config IMA_MEASURE_PCR_IDX
|
config IMA_MEASURE_PCR_IDX
|
||||||
int
|
int
|
||||||
depends on IMA
|
|
||||||
range 8 14
|
range 8 14
|
||||||
default 10
|
default 10
|
||||||
help
|
help
|
||||||
@@ -53,7 +54,7 @@ config IMA_MEASURE_PCR_IDX
|
|||||||
|
|
||||||
config IMA_LSM_RULES
|
config IMA_LSM_RULES
|
||||||
bool
|
bool
|
||||||
depends on IMA && AUDIT && (SECURITY_SELINUX || SECURITY_SMACK || SECURITY_APPARMOR)
|
depends on AUDIT && (SECURITY_SELINUX || SECURITY_SMACK || SECURITY_APPARMOR)
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
Disabling this option will disregard LSM based policy rules.
|
Disabling this option will disregard LSM based policy rules.
|
||||||
@@ -61,7 +62,6 @@ config IMA_LSM_RULES
|
|||||||
choice
|
choice
|
||||||
prompt "Default template"
|
prompt "Default template"
|
||||||
default IMA_NG_TEMPLATE
|
default IMA_NG_TEMPLATE
|
||||||
depends on IMA
|
|
||||||
help
|
help
|
||||||
Select the default IMA measurement template.
|
Select the default IMA measurement template.
|
||||||
|
|
||||||
@@ -80,14 +80,12 @@ endchoice
|
|||||||
|
|
||||||
config IMA_DEFAULT_TEMPLATE
|
config IMA_DEFAULT_TEMPLATE
|
||||||
string
|
string
|
||||||
depends on IMA
|
|
||||||
default "ima-ng" if IMA_NG_TEMPLATE
|
default "ima-ng" if IMA_NG_TEMPLATE
|
||||||
default "ima-sig" if IMA_SIG_TEMPLATE
|
default "ima-sig" if IMA_SIG_TEMPLATE
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Default integrity hash algorithm"
|
prompt "Default integrity hash algorithm"
|
||||||
default IMA_DEFAULT_HASH_SHA1
|
default IMA_DEFAULT_HASH_SHA1
|
||||||
depends on IMA
|
|
||||||
help
|
help
|
||||||
Select the default hash algorithm used for the measurement
|
Select the default hash algorithm used for the measurement
|
||||||
list, integrity appraisal and audit log. The compiled default
|
list, integrity appraisal and audit log. The compiled default
|
||||||
@@ -117,7 +115,6 @@ endchoice
|
|||||||
|
|
||||||
config IMA_DEFAULT_HASH
|
config IMA_DEFAULT_HASH
|
||||||
string
|
string
|
||||||
depends on IMA
|
|
||||||
default "sha1" if IMA_DEFAULT_HASH_SHA1
|
default "sha1" if IMA_DEFAULT_HASH_SHA1
|
||||||
default "sha256" if IMA_DEFAULT_HASH_SHA256
|
default "sha256" if IMA_DEFAULT_HASH_SHA256
|
||||||
default "sha512" if IMA_DEFAULT_HASH_SHA512
|
default "sha512" if IMA_DEFAULT_HASH_SHA512
|
||||||
@@ -126,7 +123,6 @@ config IMA_DEFAULT_HASH
|
|||||||
|
|
||||||
config IMA_WRITE_POLICY
|
config IMA_WRITE_POLICY
|
||||||
bool "Enable multiple writes to the IMA policy"
|
bool "Enable multiple writes to the IMA policy"
|
||||||
depends on IMA
|
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
IMA policy can now be updated multiple times. The new rules get
|
IMA policy can now be updated multiple times. The new rules get
|
||||||
@@ -137,7 +133,6 @@ config IMA_WRITE_POLICY
|
|||||||
|
|
||||||
config IMA_READ_POLICY
|
config IMA_READ_POLICY
|
||||||
bool "Enable reading back the current IMA policy"
|
bool "Enable reading back the current IMA policy"
|
||||||
depends on IMA
|
|
||||||
default y if IMA_WRITE_POLICY
|
default y if IMA_WRITE_POLICY
|
||||||
default n if !IMA_WRITE_POLICY
|
default n if !IMA_WRITE_POLICY
|
||||||
help
|
help
|
||||||
@@ -147,7 +142,6 @@ config IMA_READ_POLICY
|
|||||||
|
|
||||||
config IMA_APPRAISE
|
config IMA_APPRAISE
|
||||||
bool "Appraise integrity measurements"
|
bool "Appraise integrity measurements"
|
||||||
depends on IMA
|
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This option enables local measurement integrity appraisal.
|
This option enables local measurement integrity appraisal.
|
||||||
@@ -303,7 +297,6 @@ config IMA_APPRAISE_SIGNED_INIT
|
|||||||
|
|
||||||
config IMA_MEASURE_ASYMMETRIC_KEYS
|
config IMA_MEASURE_ASYMMETRIC_KEYS
|
||||||
bool
|
bool
|
||||||
depends on IMA
|
|
||||||
depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
|
depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
|
||||||
default y
|
default y
|
||||||
|
|
||||||
@@ -319,3 +312,5 @@ config IMA_SECURE_AND_OR_TRUSTED_BOOT
|
|||||||
help
|
help
|
||||||
This option is selected by architectures to enable secure and/or
|
This option is selected by architectures to enable secure and/or
|
||||||
trusted boot based on IMA runtime policies.
|
trusted boot based on IMA runtime policies.
|
||||||
|
|
||||||
|
endif
|
||||||
|
Reference in New Issue
Block a user