summaryrefslogtreecommitdiffstats
path: root/include/crypto
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2022-11-18 11:44:21 -0800
committerHerbert Xu <herbert@gondor.apana.org.au>2022-11-25 17:39:19 +0800
commitc060e16ddb51a92b1f7fa84c628d287ea5799864 (patch)
tree662a3e602fb89dbe44b00e7eea11a1aca629788e /include/crypto
parentcc7acaadf6ab5d44f43170eb568e1cc9739c3df4 (diff)
downloadlinux-c060e16ddb51a92b1f7fa84c628d287ea5799864.tar.gz
linux-c060e16ddb51a92b1f7fa84c628d287ea5799864.tar.bz2
linux-c060e16ddb51a92b1f7fa84c628d287ea5799864.zip
Revert "crypto: shash - avoid comparing pointers to exported functions under CFI"
This reverts commit 22ca9f4aaf431a9413dcc115dd590123307f274f because CFI no longer breaks cross-module function address equality, so crypto_shash_alg_has_setkey() can now be an inline function like before. This commit should not be backported to kernels that don't have the new CFI implementation. Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include/crypto')
-rw-r--r--include/crypto/internal/hash.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/crypto/internal/hash.h b/include/crypto/internal/hash.h
index 25806141db59..0a288dddcf5b 100644
--- a/include/crypto/internal/hash.h
+++ b/include/crypto/internal/hash.h
@@ -75,7 +75,13 @@ void crypto_unregister_ahashes(struct ahash_alg *algs, int count);
int ahash_register_instance(struct crypto_template *tmpl,
struct ahash_instance *inst);
-bool crypto_shash_alg_has_setkey(struct shash_alg *alg);
+int shash_no_setkey(struct crypto_shash *tfm, const u8 *key,
+ unsigned int keylen);
+
+static inline bool crypto_shash_alg_has_setkey(struct shash_alg *alg)
+{
+ return alg->setkey != shash_no_setkey;
+}
static inline bool crypto_shash_alg_needs_key(struct shash_alg *alg)
{