Message ID | 20220126203243.231822-1-dave.kleikamp@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] KEYS: trusted: Avoid calling null function trusted_key_exit | expand |
On Thu, 27 Jan 2022 at 02:02, Dave Kleikamp <dave.kleikamp@oracle.com> wrote: > > 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 > --- > v2 changes: > Header cleanup - removed empty line and cc:stable > security/keys/trusted-keys/trusted_core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Thanks for the fix. Reviewed-by: Sumit Garg <sumit.garg@linaro.org> -Sumit > diff --git a/security/keys/trusted-keys/trusted_core.c b/security/keys/trusted-keys/trusted_core.c > index d5c891d8d353..8c14e04e2112 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.35.0 >
diff --git a/security/keys/trusted-keys/trusted_core.c b/security/keys/trusted-keys/trusted_core.c index d5c891d8d353..8c14e04e2112 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);
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 --- v2 changes: Header cleanup - removed empty line and cc:stable security/keys/trusted-keys/trusted_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)