diff options
author | David S. Miller <davem@davemloft.net> | 2012-09-18 04:57:30 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-09-18 04:57:30 +0200 |
commit | 65d5fcf5c284735d3a4254cb17691842385984bb (patch) | |
tree | 5d306f655f45fd37c48761ab5aa7f0e02c8a5e22 | |
parent | sparc64: Add auto-loading mechanism to crypto-opcode drivers. (diff) | |
download | linux-65d5fcf5c284735d3a4254cb17691842385984bb.tar.xz linux-65d5fcf5c284735d3a4254cb17691842385984bb.zip |
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>
-rw-r--r-- | arch/sparc/crypto/des_asm.S | 1 |
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) 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 |