diff options
Diffstat (limited to 'include/crypto/algapi.h')
| -rw-r--r-- | include/crypto/algapi.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/crypto/algapi.h b/include/crypto/algapi.h index 7847fc2a03f0..b2b1e6efd812 100644 --- a/include/crypto/algapi.h +++ b/include/crypto/algapi.h | |||
| @@ -138,6 +138,12 @@ static inline void *crypto_tfm_ctx_aligned(struct crypto_tfm *tfm) | |||
| 138 | return (void *)ALIGN(addr, align); | 138 | return (void *)ALIGN(addr, align); |
| 139 | } | 139 | } |
| 140 | 140 | ||
| 141 | static inline struct crypto_instance *crypto_tfm_alg_instance( | ||
| 142 | struct crypto_tfm *tfm) | ||
| 143 | { | ||
| 144 | return container_of(tfm->__crt_alg, struct crypto_instance, alg); | ||
| 145 | } | ||
| 146 | |||
| 141 | static inline void *crypto_instance_ctx(struct crypto_instance *inst) | 147 | static inline void *crypto_instance_ctx(struct crypto_instance *inst) |
| 142 | { | 148 | { |
| 143 | return inst->__ctx; | 149 | return inst->__ctx; |
| @@ -154,6 +160,15 @@ static inline void *crypto_ablkcipher_ctx(struct crypto_ablkcipher *tfm) | |||
| 154 | return crypto_tfm_ctx(&tfm->base); | 160 | return crypto_tfm_ctx(&tfm->base); |
| 155 | } | 161 | } |
| 156 | 162 | ||
| 163 | static inline struct crypto_blkcipher *crypto_spawn_blkcipher( | ||
| 164 | struct crypto_spawn *spawn) | ||
| 165 | { | ||
| 166 | u32 type = CRYPTO_ALG_TYPE_BLKCIPHER; | ||
| 167 | u32 mask = CRYPTO_ALG_TYPE_MASK | CRYPTO_ALG_ASYNC; | ||
| 168 | |||
| 169 | return __crypto_blkcipher_cast(crypto_spawn_tfm(spawn, type, mask)); | ||
| 170 | } | ||
| 171 | |||
| 157 | static inline void *crypto_blkcipher_ctx(struct crypto_blkcipher *tfm) | 172 | static inline void *crypto_blkcipher_ctx(struct crypto_blkcipher *tfm) |
| 158 | { | 173 | { |
| 159 | return crypto_tfm_ctx(&tfm->base); | 174 | return crypto_tfm_ctx(&tfm->base); |
