linux/arch/sparc/crypto
David S. Miller 699871bc94 sparc64: Fix bugs in unrolled 256-bit loops.
Some dm-crypt testing revealed several bugs in the 256-bit unrolled
loops.

The DECRYPT_256_2() macro had two errors:

1) Missing reload of KEY registers %f60 and %f62

2) Missing "\" in penultimate line of definition.

In aes_sparc64_ecb_decrypt_256, we were storing the second half of the
encryption result from the wrong source registers.

In aes_sparc64_ctr_crypt_256 we have to be careful when we fall out of
the 32-byte-at-a-time loop and handle a trailing 16-byte chunk.  In
that case we've clobbered the final key holding registers and have to
restore them before executing the ENCRYPT_256() macro.  Inside of the
32-byte-at-a-time loop things are OK, because we do this key register
restoring during the first few rounds of the ENCRYPT_256_2() macro.

Signed-off-by: David S. Miller <davem@davemloft.net>
2012-09-01 23:05:43 -07:00
..
aes_asm.S sparc64: Fix bugs in unrolled 256-bit loops. 2012-09-01 23:05:43 -07:00
aes_glue.c sparc64: Add ctr mode support to AES driver. 2012-08-29 14:49:23 -07:00
camellia_asm.S sparc64: Avoid code duplication in crypto assembler. 2012-08-31 12:11:51 -07:00
camellia_glue.c sparc64: Add CAMELLIA driver making use of the new camellia opcodes. 2012-08-28 20:51:24 -07:00
crc32c_asm.S sparc64: Avoid code duplication in crypto assembler. 2012-08-31 12:11:51 -07:00
crc32c_glue.c sparc64: Add CRC32C driver making use of the new crc32c opcode. 2012-08-22 20:47:36 -07:00
des_asm.S sparc64: Avoid code duplication in crypto assembler. 2012-08-31 12:11:51 -07:00
des_glue.c sparc64: Add DES driver making use of the new des opcodes. 2012-08-25 22:37:23 -07:00
Makefile sparc64: Add CAMELLIA driver making use of the new camellia opcodes. 2012-08-28 20:51:24 -07:00
md5_asm.S sparc64: Avoid code duplication in crypto assembler. 2012-08-31 12:11:51 -07:00
md5_glue.c sparc64: Add MD5 driver making use of the 'md5' instruction. 2012-08-20 15:08:50 -07:00
opcodes.h sparc64: Avoid code duplication in crypto assembler. 2012-08-31 12:11:51 -07:00
sha1_asm.S sparc64: Avoid code duplication in crypto assembler. 2012-08-31 12:11:51 -07:00
sha1_glue.c
sha256_asm.S sparc64: Avoid code duplication in crypto assembler. 2012-08-31 12:11:51 -07:00
sha256_glue.c
sha512_asm.S sparc64: Avoid code duplication in crypto assembler. 2012-08-31 12:11:51 -07:00
sha512_glue.c sparc64: Add SHA384/SHA512 driver making use of the 'sha512' instruction. 2012-08-20 15:08:50 -07:00