[PATCH 5.17 0255/1126] KEYS: trusted: Avoid calling null function trusted_key_exit

Greg Kroah-Hartman gregkh at linuxfoundation.org
Tue Apr 5 07:16:42 UTC 2022


From: Dave Kleikamp <dave.kleikamp at 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 at oracle.com>
Cc: Sumit Garg <sumit.garg at linaro.org>
Cc: James Bottomley <jejb at linux.ibm.com>
Cc: Jarkko Sakkinen <jarkko at kernel.org>
Cc: Mimi Zohar <zohar at linux.ibm.com>
Cc: David Howells <dhowells at redhat.com>
Cc: James Morris <jmorris at namei.org>
Cc: "Serge E. Hallyn" <serge at hallyn.com>
Cc: linux-integrity at vger.kernel.org
Cc: keyrings at vger.kernel.org
Cc: linux-security-module at vger.kernel.org
Reviewed-by: Jarkko Sakkinen <jarkko at kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko at kernel.org>
Signed-off-by: Sasha Levin <sashal at 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





More information about the Linux-security-module-archive mailing list