| From db77c03aff2f37f9f81c5fbd4d7b8d660b9a8758 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 26 Jan 2022 14:32:43 -0600 |
| Subject: KEYS: trusted: Avoid calling null function trusted_key_exit |
| |
| From: Dave Kleikamp <dave.kleikamp@oracle.com> |
| |
| [ Upstream commit c5d1ed846e15090bc90dfdaafc07eac066e070bb ] |
| |
| If one loads and unloads the trusted module, trusted_key_exit can be |
| NULL. Call it through static_call_cond() to avoid a kernel trap. |
| |
| Fixes: 5d0682be3189 ("KEYS: trusted: Add generic trusted keys framework") |
| Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com> |
| Cc: Sumit Garg <sumit.garg@linaro.org> |
| Cc: James Bottomley <jejb@linux.ibm.com> |
| Cc: Jarkko Sakkinen <jarkko@kernel.org> |
| Cc: Mimi Zohar <zohar@linux.ibm.com> |
| Cc: David Howells <dhowells@redhat.com> |
| Cc: James Morris <jmorris@namei.org> |
| Cc: "Serge E. Hallyn" <serge@hallyn.com> |
| Cc: linux-integrity@vger.kernel.org |
| Cc: keyrings@vger.kernel.org |
| Cc: linux-security-module@vger.kernel.org |
| Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> |
| Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| security/keys/trusted-keys/trusted_core.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/security/keys/trusted-keys/trusted_core.c b/security/keys/trusted-keys/trusted_core.c |
| index 5b35f1b87644..9b9d3ef79cbe 100644 |
| --- a/security/keys/trusted-keys/trusted_core.c |
| +++ b/security/keys/trusted-keys/trusted_core.c |
| @@ -351,7 +351,7 @@ static int __init init_trusted(void) |
| |
| static void __exit cleanup_trusted(void) |
| { |
| - static_call(trusted_key_exit)(); |
| + static_call_cond(trusted_key_exit)(); |
| } |
| |
| late_initcall(init_trusted); |
| -- |
| 2.34.1 |
| |