Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: api - Add crypto_requires_off helper

This patch adds crypto_requires_off which is an extension of
crypto_requires_sync for similar bits such as NEED_FALLBACK.

Cc: stable@vger.kernel.org #4.10
Suggested-by: Marcelo Cerri <marcelo.cerri@canonical.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

+6 -1
+6 -1
include/crypto/algapi.h
··· 360 360 return crypto_attr_alg(tb[1], type, mask); 361 361 } 362 362 363 + static inline int crypto_requires_off(u32 type, u32 mask, u32 off) 364 + { 365 + return (type ^ off) & mask & off; 366 + } 367 + 363 368 /* 364 369 * Returns CRYPTO_ALG_ASYNC if type/mask requires the use of sync algorithms. 365 370 * Otherwise returns zero. 366 371 */ 367 372 static inline int crypto_requires_sync(u32 type, u32 mask) 368 373 { 369 - return (type ^ CRYPTO_ALG_ASYNC) & mask & CRYPTO_ALG_ASYNC; 374 + return crypto_requires_off(type, mask, CRYPTO_ALG_ASYNC); 370 375 } 371 376 372 377 noinline unsigned long __crypto_memneq(const void *a, const void *b, size_t size);