mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
crypto: api - Add helpers to manage request flags
Add helpers so that the ON_STACK request flag management is not duplicated all over the place. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
b93336cd76
commit
1451e3e561
2 changed files with 29 additions and 0 deletions
|
@ -272,4 +272,9 @@ static inline bool crypto_tfm_req_chain(struct crypto_tfm *tfm)
|
|||
return tfm->__crt_alg->cra_flags & CRYPTO_ALG_REQ_CHAIN;
|
||||
}
|
||||
|
||||
static inline u32 crypto_request_flags(struct crypto_async_request *req)
|
||||
{
|
||||
return req->flags & ~CRYPTO_TFM_REQ_ON_STACK;
|
||||
}
|
||||
|
||||
#endif /* _CRYPTO_ALGAPI_H */
|
||||
|
|
|
@ -476,5 +476,29 @@ static inline bool crypto_tfm_is_async(struct crypto_tfm *tfm)
|
|||
return tfm->__crt_alg->cra_flags & CRYPTO_ALG_ASYNC;
|
||||
}
|
||||
|
||||
static inline bool crypto_req_on_stack(struct crypto_async_request *req)
|
||||
{
|
||||
return req->flags & CRYPTO_TFM_REQ_ON_STACK;
|
||||
}
|
||||
|
||||
static inline void crypto_request_set_callback(
|
||||
struct crypto_async_request *req, u32 flags,
|
||||
crypto_completion_t compl, void *data)
|
||||
{
|
||||
u32 keep = CRYPTO_TFM_REQ_ON_STACK;
|
||||
|
||||
req->complete = compl;
|
||||
req->data = data;
|
||||
req->flags &= keep;
|
||||
req->flags |= flags & ~keep;
|
||||
}
|
||||
|
||||
static inline void crypto_request_set_tfm(struct crypto_async_request *req,
|
||||
struct crypto_tfm *tfm)
|
||||
{
|
||||
req->tfm = tfm;
|
||||
req->flags &= ~CRYPTO_TFM_REQ_ON_STACK;
|
||||
}
|
||||
|
||||
#endif /* _LINUX_CRYPTO_H */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue