summaryrefslogtreecommitdiffstats
path: root/include/crypto/algapi.h
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-12-02 13:37:41 +0000
committerMark Brown <broonie@linaro.org>2013-12-02 13:37:41 +0000
commite80b89ee2ace3a959c44c834231851fc5242eb13 (patch)
treeec8cd7a9cd05002261fbfda9b4ea4f66d1e04f7b /include/crypto/algapi.h
parent85cfe6b64d785b170367322d9d130a530db7b276 (diff)
parentdc1ccc48159d63eca5089e507c82c7d22ef60839 (diff)
Merge tag 'v3.13-rc2' into spi-rcar
Linux 3.13-rc2
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 418d270e180..e73c19e90e3 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 */