[CRYPTO] api: Align tfm context as wide as possible
authorHerbert Xu <herbert@gondor.apana.org.au>
Wed, 25 Jan 2006 11:34:01 +0000 (22:34 +1100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 21 Mar 2006 09:14:08 +0000 (20:14 +1100)
commitf10b7897ee29649fa7f0ccdc8d859ccd6ce7dbfd
tree345a25e1e1b2bcd647074844003d61b7d27e4e39
parenta5f8c473052bc693cdbe2f9ae4b424b993886ff5
[CRYPTO] api: Align tfm context as wide as possible

Since tfm contexts can contain arbitrary types we should provide at least
natural alignment (__attribute__ ((__aligned__))) for them.  In particular,
this is needed on the Xscale which is a 32-bit architecture with a u64 type
that requires 64-bit alignment.  This problem was reported by Ronen Shitrit.

The crypto_tfm structure's size was 44 bytes on 32-bit architectures and
80 bytes on 64-bit architectures.  So adding this requirement only means
that we have to add an extra 4 bytes on 32-bit architectures.

On i386 the natural alignment is 16 bytes which also benefits the VIA
Padlock as it no longer has to manually align its context structure to
128 bits.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/api.c
drivers/crypto/padlock-aes.c
include/linux/crypto.h