KEYS: trusted: Fix trusted key backends when building as module

Before this commit the kernel could end up with no trusted key sources
even though both of the currently supported backends (TPM and TEE) were
compiled as modules. This manifested in the trusted key type not being
registered at all.

When checking if a CONFIG_… preprocessor variable is defined we only
test for the builtin (=y) case and not the module (=m) case. By using
the IS_REACHABLE() macro we do test for both cases.

Fixes: 5d0682be31 ("KEYS: trusted: Add generic trusted keys framework")
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Andreas Rammhold <andreas@rammhold.de>
Tested-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
This commit is contained in:
Andreas Rammhold 2021-12-01 10:59:00 +01:00 committed by Jarkko Sakkinen
parent 2dd634664d
commit 969a26446b

View File

@ -27,10 +27,10 @@ module_param_named(source, trusted_key_source, charp, 0);
MODULE_PARM_DESC(source, "Select trusted keys source (tpm or tee)"); MODULE_PARM_DESC(source, "Select trusted keys source (tpm or tee)");
static const struct trusted_key_source trusted_key_sources[] = { static const struct trusted_key_source trusted_key_sources[] = {
#if defined(CONFIG_TCG_TPM) #if IS_REACHABLE(CONFIG_TCG_TPM)
{ "tpm", &trusted_key_tpm_ops }, { "tpm", &trusted_key_tpm_ops },
#endif #endif
#if defined(CONFIG_TEE) #if IS_REACHABLE(CONFIG_TEE)
{ "tee", &trusted_key_tee_ops }, { "tee", &trusted_key_tee_ops },
#endif #endif
}; };