From: David S. Miller Date: Tue, 18 Sep 2012 02:57:30 +0000 (-0700) Subject: sparc64: Fix IV handling bug in des_sparc64_cbc_decrypt X-Git-Tag: firefly_0821_release~3680^2~1950^2~6 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=65d5fcf5c284735d3a4254cb17691842385984bb;p=firefly-linux-kernel-4.4.55.git 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 --- 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