Commit cc7acaad authored by Eric Biggers's avatar Eric Biggers Committed by Herbert Xu

crypto: arm/nhpoly1305 - eliminate unnecessary CFI wrapper

The arm architecture doesn't support CFI yet, and even if it did, the
new CFI implementation supports indirect calls to assembly functions.
Therefore, there's no need to use a wrapper function for nh_neon().
Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: default avatarSami Tolvanen <samitolvanen@google.com>
Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent be8f6b64
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
/* /*
* void nh_neon(const u32 *key, const u8 *message, size_t message_len, * void nh_neon(const u32 *key, const u8 *message, size_t message_len,
* u8 hash[NH_HASH_BYTES]) * __le64 hash[NH_NUM_PASSES])
* *
* It's guaranteed that message_len % 16 == 0. * It's guaranteed that message_len % 16 == 0.
*/ */
......
...@@ -14,14 +14,7 @@ ...@@ -14,14 +14,7 @@
#include <linux/module.h> #include <linux/module.h>
asmlinkage void nh_neon(const u32 *key, const u8 *message, size_t message_len, asmlinkage void nh_neon(const u32 *key, const u8 *message, size_t message_len,
u8 hash[NH_HASH_BYTES]); __le64 hash[NH_NUM_PASSES]);
/* wrapper to avoid indirect call to assembly, which doesn't work with CFI */
static void _nh_neon(const u32 *key, const u8 *message, size_t message_len,
__le64 hash[NH_NUM_PASSES])
{
nh_neon(key, message, message_len, (u8 *)hash);
}
static int nhpoly1305_neon_update(struct shash_desc *desc, static int nhpoly1305_neon_update(struct shash_desc *desc,
const u8 *src, unsigned int srclen) const u8 *src, unsigned int srclen)
...@@ -33,7 +26,7 @@ static int nhpoly1305_neon_update(struct shash_desc *desc, ...@@ -33,7 +26,7 @@ static int nhpoly1305_neon_update(struct shash_desc *desc,
unsigned int n = min_t(unsigned int, srclen, SZ_4K); unsigned int n = min_t(unsigned int, srclen, SZ_4K);
kernel_neon_begin(); kernel_neon_begin();
crypto_nhpoly1305_update_helper(desc, src, n, _nh_neon); crypto_nhpoly1305_update_helper(desc, src, n, nh_neon);
kernel_neon_end(); kernel_neon_end();
src += n; src += n;
srclen -= n; srclen -= n;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment