Patch "crypto: arm64/sha2-ce - fix for big endian" has been added to the 4.9-stable tree

From: <gregkh@linuxfoundation.org>
Date: 2017-01-09 15:26:38

This is a note to let you know that I've just added the patch titled

    crypto: arm64/sha2-ce - fix for big endian

to the 4.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     crypto-arm64-sha2-ce-fix-for-big-endian.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let [off-list ref] know about it.

From 174122c39c369ed924d2608fc0be0171997ce800 Mon Sep 17 00:00:00 2001
From: Ard Biesheuvel <redacted>
Date: Tue, 11 Oct 2016 19:15:16 +0100
Subject: crypto: arm64/sha2-ce - fix for big endian

From: Ard Biesheuvel <redacted>

commit 174122c39c369ed924d2608fc0be0171997ce800 upstream.

The SHA256 digest is an array of 8 32-bit quantities, so we should refer
to them as such in order for this code to work correctly when built for
big endian. So replace 16 byte scalar loads and stores with 4x32 vector
ones where appropriate.

Fixes: 6ba6c74dfc6b ("arm64/crypto: SHA-224/SHA-256 using ARMv8 Crypto Extensions")
Signed-off-by: Ard Biesheuvel <redacted>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm64/crypto/sha2-ce-core.S |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--- a/arch/arm64/crypto/sha2-ce-core.S
+++ b/arch/arm64/crypto/sha2-ce-core.S
@@ -85,7 +85,7 @@ ENTRY(sha2_ce_transform)
 	ld1		{v12.4s-v15.4s}, [x8]
 
 	/* load state */
-	ldp		dga, dgb, [x0]
+	ld1		{dgav.4s, dgbv.4s}, [x0]
 
 	/* load sha256_ce_state::finalize */
 	ldr		w4, [x0, #:lo12:sha256_ce_offsetof_finalize]
@@ -148,6 +148,6 @@ CPU_LE(	rev32		v19.16b, v19.16b	)
 	b		1b
 
 	/* store new state */
-3:	stp		dga, dgb, [x0]
+3:	st1		{dgav.4s, dgbv.4s}, [x0]
 	ret
 ENDPROC(sha2_ce_transform)

Patches currently in stable-queue which might be from ard.biesheuvel@linaro.org are

queue-4.9/crypto-arm64-aes-neon-fix-for-big-endian.patch
queue-4.9/crypto-arm64-ghash-ce-fix-for-big-endian.patch
queue-4.9/crypto-arm64-aes-ce-fix-for-big-endian.patch
queue-4.9/crypto-arm64-aes-xts-ce-fix-for-big-endian.patch
queue-4.9/efi-efivar_ssdt_load-don-t-return-success-on-allocation-failure.patch
queue-4.9/crypto-arm-aes-ce-fix-for-big-endian.patch
queue-4.9/crypto-arm64-aes-ccm-ce-fix-for-big-endian.patch
queue-4.9/crypto-arm64-sha2-ce-fix-for-big-endian.patch
queue-4.9/crypto-arm64-sha1-ce-fix-for-big-endian.patch
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help