Browse Source

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>
David S. Miller 13 năm trước cách đây
mục cha
commit
65d5fcf5c2
1 tập tin đã thay đổi với 1 bổ sung0 xóa
  1. 1 0
      arch/sparc/crypto/des_asm.S

+ 1 - 0
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