summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/compat/compat.h7
-rw-r--r--src/crypto/zinc/blake2s/blake2s-x86_64-glue.h5
-rw-r--r--src/crypto/zinc/blake2s/blake2s.c14
3 files changed, 15 insertions, 11 deletions
diff --git a/src/compat/compat.h b/src/compat/compat.h
index 17606f5..2e67edb 100644
--- a/src/compat/compat.h
+++ b/src/compat/compat.h
@@ -689,6 +689,13 @@ static inline void *skb_put_data(struct sk_buff *skb, const void *data, unsigned
#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)
+static inline void le32_to_cpu_array(u32 *buf, unsigned int words)
+{
+ while (words--) {
+ __le32_to_cpus(buf);
+ buf++;
+ }
+}
static inline void cpu_to_le32_array(u32 *buf, unsigned int words)
{
while (words--) {
diff --git a/src/crypto/zinc/blake2s/blake2s-x86_64-glue.h b/src/crypto/zinc/blake2s/blake2s-x86_64-glue.h
index 83d56e9..1f331cb 100644
--- a/src/crypto/zinc/blake2s/blake2s-x86_64-glue.h
+++ b/src/crypto/zinc/blake2s/blake2s-x86_64-glue.h
@@ -34,8 +34,9 @@ static void __init blake2s_fpu_init(void)
#endif
}
-static inline bool blake2s_arch(struct blake2s_state *state, const u8 *block,
- size_t nblocks, const u32 inc)
+static inline bool blake2s_compress_arch(struct blake2s_state *state,
+ const u8 *block, size_t nblocks,
+ const u32 inc)
{
simd_context_t simd_context;
diff --git a/src/crypto/zinc/blake2s/blake2s.c b/src/crypto/zinc/blake2s/blake2s.c
index bd7146b..8e22824 100644
--- a/src/crypto/zinc/blake2s/blake2s.c
+++ b/src/crypto/zinc/blake2s/blake2s.c
@@ -120,8 +120,9 @@ static void __init blake2s_fpu_init(void)
{
}
-static inline bool blake2s_arch(struct blake2s_state *state, const u8 *block,
- const size_t nblocks, const u32 inc)
+static inline bool blake2s_compress_arch(struct blake2s_state *state,
+ const u8 *block, size_t nblocks,
+ const u32 inc)
{
return false;
}
@@ -139,18 +140,13 @@ static inline void blake2s_compress(struct blake2s_state *state,
BUG_ON(nblocks > 1 && inc != BLAKE2S_BLOCK_SIZE);
#endif
- if (blake2s_arch(state, block, nblocks, inc))
+ if (blake2s_compress_arch(state, block, nblocks, inc))
return;
while (nblocks > 0) {
blake2s_increment_counter(state, inc);
-
-#ifdef __LITTLE_ENDIAN
memcpy(m, block, BLAKE2S_BLOCK_SIZE);
-#else
- for (i = 0; i < 16; ++i)
- m[i] = get_unaligned_le32(block + i * sizeof(m[i]));
-#endif
+ le32_to_cpu_array(m, ARRAY_SIZE(m));
memcpy(v, state->h, 32);
v[ 8] = blake2s_iv[0];
v[ 9] = blake2s_iv[1];