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

crypto: arm64/chacha - fix hchacha_block_neon() for big endian

On big endian arm64 kernels, the xchacha20-neon and xchacha12-neon
self-tests fail because hchacha_block_neon() outputs little endian words
but the C code expects native endianness.  Fix it to output the words in
native endianness (which also makes it match the arm32 version).

Fixes: cc7cf991 ("crypto: arm64/chacha20 - add XChaCha20 support")
Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
Reviewed-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 4b6d196c
...@@ -158,8 +158,8 @@ ENTRY(hchacha_block_neon) ...@@ -158,8 +158,8 @@ ENTRY(hchacha_block_neon)
mov w3, w2 mov w3, w2
bl chacha_permute bl chacha_permute
st1 {v0.16b}, [x1], #16 st1 {v0.4s}, [x1], #16
st1 {v3.16b}, [x1] st1 {v3.4s}, [x1]
ldp x29, x30, [sp], #16 ldp x29, x30, [sp], #16
ret ret
......
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