KEYS: trusted: Remove redundant static calls usage
authorSumit Garg <sumit.garg@linaro.org>
Fri, 6 Oct 2023 05:18:01 +0000 (10:48 +0530)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 10 Oct 2023 18:19:43 +0000 (11:19 -0700)
commit01bbafc63b65689cb179ca537971286bc27f3b74
treec494b1758ba58314a3211bb5927fc9af8995e681
parent87813e13df5ca4d899e2da0bc37d40f9a95788ee
KEYS: trusted: Remove redundant static calls usage

Static calls invocations aren't well supported from module __init and
__exit functions. Especially the static call from cleanup_trusted() led
to a crash on x86 kernel with CONFIG_DEBUG_VIRTUAL=y.

However, the usage of static call invocations for trusted_key_init()
and trusted_key_exit() don't add any value from either a performance or
security perspective. Hence switch to use indirect function calls instead.

Note here that although it will fix the current crash report, ultimately
the static call infrastructure should be fixed to either support its
future usage from module __init and __exit functions or not.

Reported-and-tested-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Link: https://lore.kernel.org/lkml/ZRhKq6e5nF%2F4ZIV1@fedora/#t
Fixes: 5d0682be3189 ("KEYS: trusted: Add generic trusted keys framework")
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
security/keys/trusted-keys/trusted_core.c