summaryrefslogtreecommitdiffstats
path: root/include/crypto/algapi.h
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-01-10 11:52:05 +0000
committerMark Brown <broonie@linaro.org>2014-01-10 11:52:05 +0000
commitfce6bd84d663b92997e0fa9c971ed2b2cdf08fb4 (patch)
treec5b460cfc60b16a7c6718ae2613bb1d9cb98e5b8 /include/crypto/algapi.h
parent56d37d85438df38e150282baafe52dcd588854c7 (diff)
parent374b105797c3d4f29c685f3be535c35f5689b30e (diff)
downloadlinux-fce6bd84d663b92997e0fa9c971ed2b2cdf08fb4.tar.bz2
Merge tag 'v3.13-rc3' into asoc-arizona
Linux 3.13-rc3
Diffstat (limited to 'include/crypto/algapi.h')
-rw-r--r--include/crypto/algapi.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/include/crypto/algapi.h b/include/crypto/algapi.h
index 418d270e1806..e73c19e90e38 100644
--- a/include/crypto/algapi.h
+++ b/include/crypto/algapi.h
@@ -386,5 +386,21 @@ static inline int crypto_requires_sync(u32 type, u32 mask)
return (type ^ CRYPTO_ALG_ASYNC) & mask & CRYPTO_ALG_ASYNC;
}
-#endif /* _CRYPTO_ALGAPI_H */
+noinline unsigned long __crypto_memneq(const void *a, const void *b, size_t size);
+
+/**
+ * crypto_memneq - Compare two areas of memory without leaking
+ * timing information.
+ *
+ * @a: One area of memory
+ * @b: Another area of memory
+ * @size: The size of the area.
+ *
+ * Returns 0 when data is equal, 1 otherwise.
+ */
+static inline int crypto_memneq(const void *a, const void *b, size_t size)
+{
+ return __crypto_memneq(a, b, size) != 0UL ? 1 : 0;
+}
+#endif /* _CRYPTO_ALGAPI_H */