diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2023-04-13 14:24:17 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2023-04-20 18:20:04 +0800 |
commit | af14f918822f2ce48d75d2547dee4573bd3ae632 (patch) | |
tree | 900fc5a7c232e1b4810482a535dfa29f7f9f85eb /crypto/internal.h | |
parent | 57fa4869538e18ebdd3a1e734dda9fc1e9ee15dd (diff) | |
download | linux-crypto-af14f918822f2ce48d75d2547dee4573bd3ae632.tar.gz linux-crypto-af14f918822f2ce48d75d2547dee4573bd3ae632.zip |
crypto: api - Add crypto_clone_tfm
This patch adds the helper crypto_clone_tfm. The purpose is to
allocate a tfm object with GFP_ATOMIC. As we cannot sleep, the
object has to be cloned from an existing tfm object.
This allows code paths that cannot otherwise allocate a crypto_tfm
object to do so. Once a new tfm has been obtained its key could
then be changed without impacting other users.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/internal.h')
-rw-r--r-- | crypto/internal.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/internal.h b/crypto/internal.h index 5eee009e..8dd746b1 100644 --- a/crypto/internal.h +++ b/crypto/internal.h @@ -106,6 +106,8 @@ struct crypto_tfm *__crypto_alloc_tfm(struct crypto_alg *alg, u32 type, u32 mask); void *crypto_create_tfm_node(struct crypto_alg *alg, const struct crypto_type *frontend, int node); +void *crypto_clone_tfm(const struct crypto_type *frontend, + struct crypto_tfm *otfm); static inline void *crypto_create_tfm(struct crypto_alg *alg, const struct crypto_type *frontend) |