* [PATCH RESEND] KEYS: trusted: Fix trusted key backends when building as module
@ 2021-11-01 18:41 andreas
2021-11-01 18:52 ` Ahmad Fatoum
0 siblings, 1 reply; 2+ messages in thread
From: andreas @ 2021-11-01 18:41 UTC (permalink / raw)
To: James Bottomley, Jarkko Sakkinen, Mimi Zohar, David Howells,
James Morris, Serge E. Hallyn, Sumit Garg
Cc: Ahmad Fatoum, Andreas Rammhold, linux-integrity, keyrings,
linux-security-module, linux-kernel
From: Andreas Rammhold <andreas@rammhold.de>
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: 5d0682be3189 ("KEYS: trusted: Add generic trusted keys framework")
Signed-off-by: Andreas Rammhold <andreas@rammhold.de>
---
This is a resend becuase of this unfortunate timeline:
- 2021-05-09: Regression hits mainline with v5.13-rc1
- 2021-07-16: Issue reported. v1 of this patch sent out
- 2021-07-21: Ahmad sends out alternative patch to fix issue
- 2021-07-27: Jarkko (Maintainer) NACKs Ahmad's patch because of scope
- 2021-07-29: v2 with fixes sent out
- 2021-07-29: Jarkko gives his Reviewed-by and requests one more v3
- 2021-07-31: v3 sent out
- 2021-09-13: Pinged, no feedback
- 2021-09-27: Pinged, Mimi (Maintainer) comments due to to misunderstanding.
Question about why this is not merged ignored
- 2021-10-11: Pinged, no feedback
v3:
* Fixed patch formatting
v2:
* Fixed commit message
* Switched from IS_DEFINED() to IS_REACHABLE()
security/keys/trusted-keys/trusted_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/security/keys/trusted-keys/trusted_core.c b/security/keys/trusted-keys/trusted_core.c
index d5c891d8d3534..5b35f1b876441 100644
--- a/security/keys/trusted-keys/trusted_core.c
+++ b/security/keys/trusted-keys/trusted_core.c
@@ -27,10 +27,10 @@ module_param_named(source, trusted_key_source, charp, 0);
MODULE_PARM_DESC(source, "Select trusted keys source (tpm or tee)");
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 },
#endif
-#if defined(CONFIG_TEE)
+#if IS_REACHABLE(CONFIG_TEE)
{ "tee", &trusted_key_tee_ops },
#endif
};
--
2.33.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH RESEND] KEYS: trusted: Fix trusted key backends when building as module
2021-11-01 18:41 [PATCH RESEND] KEYS: trusted: Fix trusted key backends when building as module andreas
@ 2021-11-01 18:52 ` Ahmad Fatoum
0 siblings, 0 replies; 2+ messages in thread
From: Ahmad Fatoum @ 2021-11-01 18:52 UTC (permalink / raw)
To: andreas, James Bottomley, Jarkko Sakkinen, Mimi Zohar,
David Howells, James Morris, Serge E. Hallyn, Sumit Garg
Cc: linux-integrity, keyrings, linux-security-module, linux-kernel
Hello Andreas,
On 01.11.21 19:41, andreas@rammhold.de wrote:
> From: Andreas Rammhold <andreas@rammhold.de>
>
> 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: 5d0682be3189 ("KEYS: trusted: Add generic trusted keys framework")
> Signed-off-by: Andreas Rammhold <andreas@rammhold.de>
You dropped the Reviewed-by Tags. Feel free to add
Tested-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
as well. You should also keep the patch revision (i.e.
"PATCH (RESEND v3|v3 RESEND"), even for RESENDs.
Thanks!
Ahmad
> ---
>
> This is a resend becuase of this unfortunate timeline:
> - 2021-05-09: Regression hits mainline with v5.13-rc1
> - 2021-07-16: Issue reported. v1 of this patch sent out
> - 2021-07-21: Ahmad sends out alternative patch to fix issue
> - 2021-07-27: Jarkko (Maintainer) NACKs Ahmad's patch because of scope
> - 2021-07-29: v2 with fixes sent out
> - 2021-07-29: Jarkko gives his Reviewed-by and requests one more v3
> - 2021-07-31: v3 sent out
> - 2021-09-13: Pinged, no feedback
> - 2021-09-27: Pinged, Mimi (Maintainer) comments due to to misunderstanding.
> Question about why this is not merged ignored
> - 2021-10-11: Pinged, no feedback
>
> v3:
> * Fixed patch formatting
>
> v2:
> * Fixed commit message
> * Switched from IS_DEFINED() to IS_REACHABLE()
>
>
> security/keys/trusted-keys/trusted_core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/security/keys/trusted-keys/trusted_core.c b/security/keys/trusted-keys/trusted_core.c
> index d5c891d8d3534..5b35f1b876441 100644
> --- a/security/keys/trusted-keys/trusted_core.c
> +++ b/security/keys/trusted-keys/trusted_core.c
> @@ -27,10 +27,10 @@ module_param_named(source, trusted_key_source, charp, 0);
> MODULE_PARM_DESC(source, "Select trusted keys source (tpm or tee)");
>
> 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 },
> #endif
> -#if defined(CONFIG_TEE)
> +#if IS_REACHABLE(CONFIG_TEE)
> { "tee", &trusted_key_tee_ops },
> #endif
> };
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-11-01 18:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-01 18:41 [PATCH RESEND] KEYS: trusted: Fix trusted key backends when building as module andreas
2021-11-01 18:52 ` Ahmad Fatoum
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).