[CRYPTO] Add alignmask for low-level cipher implementations
authorHerbert Xu <herbert@gondor.apana.org.au>
Wed, 6 Jul 2005 20:52:09 +0000 (13:52 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 Jul 2005 20:52:09 +0000 (13:52 -0700)
commit95477377995aefa2ec1654a9a3777bd57ea99146
tree7aa4d6173de13c81c2fa0e4d2f9e0de22e141b6a
parent40725181b74be6b0e3bdc8c05bd1e0b9873ec5cc
[CRYPTO] Add alignmask for low-level cipher implementations

The VIA Padlock device requires the input and output buffers to
be aligned on 16-byte boundaries.  This patch adds the alignmask
attribute for low-level cipher implementations to indicate their
alignment requirements.

The mid-level crypt() function will copy the input/output buffers
if they are not aligned correctly before they are passed to the
low-level implementation.

Strictly speaking, some of the software implementations require
the buffers to be aligned on 4-byte boundaries as they do 32-bit
loads.  However, it is not clear whether it is better to copy
the buffers or pay the penalty for unaligned loads/stores.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
crypto/api.c
crypto/cipher.c
crypto/scatterwalk.h
include/linux/crypto.h