Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 666bcfcc authored by Eric Biggers's avatar Eric Biggers Committed by Jason A. Donenfeld
Browse files

UPSTREAM: 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: cc7cf991e9eb ("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>
(cherry picked from commit f86d17e9efe010b894db231329ee36b24bcc1b24)
Bug: 152722841
Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
Change-Id: I5a74cfd06508ed4ab6202282ce28a481fdb07641
parent ac43e7e5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -158,8 +158,8 @@ ENTRY(hchacha_block_neon)
	mov		w3, w2
	bl		chacha_permute

	st1		{v0.16b}, [x1], #16
	st1		{v3.16b}, [x1]
	st1		{v0.4s}, [x1], #16
	st1		{v3.4s}, [x1]

	ldp		x29, x30, [sp], #16
	ret