Skip to contentSkip to conversation

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

PATCH [email protected] 1 participant 1 message Jan 9, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

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

crypto: arm64/sha1-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-sha1-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 <[email protected]> know about it.

Quoted 1 line

From ee71e5f1e7d25543ee63a80451871f8985b8d431 Mon Sep 17 00:00:00 2001

From: Ard Biesheuvel <[email protected]>
Date: Tue, 11 Oct 2016 19:15:15 +0100
Subject: crypto: arm64/sha1-ce - fix for big endian

From: Ard Biesheuvel <[email protected]>

commit ee71e5f1e7d25543ee63a80451871f8985b8d431 upstream.

The SHA1 digest is an array of 5 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 4x4 vector ones where appropriate.

Fixes 2c98833a42cd ("arm64/crypto: SHA-1 using ARMv8 Crypto Extensions")
---
 arch/arm64/crypto/sha1-ce-core.S |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/crypto/sha1-ce-core.S +2 -2
@@ -78,7 +78,7 @@ ENTRY(sha1_ce_transform)
 	ld1r		{k3.4s}, [x6]
 
 	/* load state */
-	ldr		dga, [x0]
+	ld1		{dgav.4s}, [x0]
 	ldr		dgb, [x0, #16]
 
 	/* load sha1_ce_state::finalize */
@@ -144,7 +144,7 @@ CPU_LE(	rev32		v11.16b, v11.16b	)
 	b		1b
 
 	/* store new state */
-3:	str		dga, [x0]
+3:	st1		{dgav.4s}, [x0]
 	str		dgb, [x0, #16]
 	ret
 ENDPROC(sha1_ce_transform)

Patches currently in stable-queue which might be from [email protected] 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