Patchwork sparc64: Fix IV handling bug in des_sparc64_cbc_decrypt

login
register
mail settings
Submitter David Miller
Date Sept. 18, 2012, 3:01 a.m.
Message ID <20120917.230144.383780203829176979.davem@davemloft.net>
Download mbox | patch
Permalink /patch/184595/
State Accepted
Delegated to: David Miller
Headers show

Comments

David Miller - Sept. 18, 2012, 3:01 a.m.
The IV wasn't being propagated properly past the first loop
iteration.

This bug lived only because the crypto layer tests for
cbc(des) do not have any cases that go more than one loop.

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 arch/sparc/crypto/des_asm.S |    1 +
 1 file changed, 1 insertion(+)

Patch

diff --git a/arch/sparc/crypto/des_asm.S b/arch/sparc/crypto/des_asm.S
index a7da935..30b6e90 100644
--- a/arch/sparc/crypto/des_asm.S
+++ b/arch/sparc/crypto/des_asm.S
@@ -168,6 +168,7 @@  ENTRY(des_sparc64_cbc_decrypt)
 	DES_ROUND(28, 30, 32, 32)
 	DES_IIP(32, 32)
 	fxor	%f32, %f34, %f32
+	fsrc2	%f36, %f34
 	std	%f32, [%o1 + 0x00]
 	add	%o0, 0x08, %o0
 	subcc	%o2, 0x08, %o2