diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2017-02-26 12:22:35 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-12 06:44:14 +0100 |
commit | e7fa3bd29e07398677f56b0a43581d21ba3cd643 (patch) | |
tree | 773bc8f2209ba31d5158d62f1b18cb01ff75890e /include | |
parent | ddde9085f58cffb43100e9b0650b84a6b6534343 (diff) | |
download | linux-stable-e7fa3bd29e07398677f56b0a43581d21ba3cd643.tar.gz linux-stable-e7fa3bd29e07398677f56b0a43581d21ba3cd643.tar.bz2 linux-stable-e7fa3bd29e07398677f56b0a43581d21ba3cd643.zip |
crypto: api - Add crypto_requires_off helper
commit 016df0abc56ec06d0c63c5318ef53e40738dea8b upstream.
This patch adds crypto_requires_off which is an extension of
crypto_requires_sync for similar bits such as NEED_FALLBACK.
Suggested-by: Marcelo Cerri <marcelo.cerri@canonical.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/crypto/algapi.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/crypto/algapi.h b/include/crypto/algapi.h index 404e9558e879..9acce0bc5863 100644 --- a/include/crypto/algapi.h +++ b/include/crypto/algapi.h @@ -344,13 +344,18 @@ static inline struct crypto_alg *crypto_get_attr_alg(struct rtattr **tb, return crypto_attr_alg(tb[1], type, mask); } +static inline int crypto_requires_off(u32 type, u32 mask, u32 off) +{ + return (type ^ off) & mask & off; +} + /* * Returns CRYPTO_ALG_ASYNC if type/mask requires the use of sync algorithms. * Otherwise returns zero. */ static inline int crypto_requires_sync(u32 type, u32 mask) { - return (type ^ CRYPTO_ALG_ASYNC) & mask & CRYPTO_ALG_ASYNC; + return crypto_requires_off(type, mask, CRYPTO_ALG_ASYNC); } noinline unsigned long __crypto_memneq(const void *a, const void *b, size_t size); |