aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-09-17 22:57:30 -0400
committerDavid S. Miller <davem@davemloft.net>2012-09-17 22:57:30 -0400
commit65d5fcf5c284735d3a4254cb17691842385984bb (patch)
tree5d306f655f45fd37c48761ab5aa7f0e02c8a5e22 /arch
parent979e93ca24e8336acb660529676dcda6817d8a1f (diff)
sparc64: Fix IV handling bug in des_sparc64_cbc_decrypt
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/sparc/crypto/des_asm.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sparc/crypto/des_asm.S b/arch/sparc/crypto/des_asm.S
index a7da935796e1..30b6e90b28b2 100644
--- a/arch/sparc/crypto/des_asm.S
+++ b/arch/sparc/crypto/des_asm.S
@@ -168,6 +168,7 @@ ENTRY(des_sparc64_cbc_decrypt)
168 DES_ROUND(28, 30, 32, 32) 168 DES_ROUND(28, 30, 32, 32)
169 DES_IIP(32, 32) 169 DES_IIP(32, 32)
170 fxor %f32, %f34, %f32 170 fxor %f32, %f34, %f32
171 fsrc2 %f36, %f34
171 std %f32, [%o1 + 0x00] 172 std %f32, [%o1 + 0x00]
172 add %o0, 0x08, %o0 173 add %o0, 0x08, %o0
173 subcc %o2, 0x08, %o2 174 subcc %o2, 0x08, %o2