From a429d2609c153882c421b067ad5ae5a38851459e Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Sat, 7 Jan 2006 16:38:15 +1100 Subject: [CRYPTO] cipher: Set alignmask for multi-byte loads Many cipher implementations use 4-byte/8-byte loads/stores which require alignment on some architectures. This patch explicitly sets the alignment requirements for them. Signed-off-by: Herbert Xu --- crypto/aes.c | 1 + crypto/anubis.c | 1 + crypto/blowfish.c | 1 + crypto/cast5.c | 1 + crypto/cast6.c | 1 + crypto/des.c | 1 + crypto/khazad.c | 1 + crypto/serpent.c | 1 + crypto/tea.c | 3 +++ crypto/twofish.c | 1 + 10 files changed, 12 insertions(+) diff --git a/crypto/aes.c b/crypto/aes.c index b9b2afb4279..0a6a5c14368 100644 --- a/crypto/aes.c +++ b/crypto/aes.c @@ -423,6 +423,7 @@ static struct crypto_alg aes_alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = AES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct aes_ctx), + .cra_alignmask = 3, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(aes_alg.cra_list), .cra_u = { diff --git a/crypto/anubis.c b/crypto/anubis.c index 94c4b1f3e3a..2c796bdb91a 100644 --- a/crypto/anubis.c +++ b/crypto/anubis.c @@ -677,6 +677,7 @@ static struct crypto_alg anubis_alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = ANUBIS_BLOCK_SIZE, .cra_ctxsize = sizeof (struct anubis_ctx), + .cra_alignmask = 3, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(anubis_alg.cra_list), .cra_u = { .cipher = { diff --git a/crypto/blowfish.c b/crypto/blowfish.c index 99fc45950d5..7f710b201f2 100644 --- a/crypto/blowfish.c +++ b/crypto/blowfish.c @@ -453,6 +453,7 @@ static struct crypto_alg alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = BF_BLOCK_SIZE, .cra_ctxsize = sizeof(struct bf_ctx), + .cra_alignmask = 3, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(alg.cra_list), .cra_u = { .cipher = { diff --git a/crypto/cast5.c b/crypto/cast5.c index 282641c974a..8834c8580c0 100644 --- a/crypto/cast5.c +++ b/crypto/cast5.c @@ -809,6 +809,7 @@ static struct crypto_alg alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = CAST5_BLOCK_SIZE, .cra_ctxsize = sizeof(struct cast5_ctx), + .cra_alignmask = 3, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(alg.cra_list), .cra_u = { diff --git a/crypto/cast6.c b/crypto/cast6.c index d317fff6ea1..9e28740ba77 100644 --- a/crypto/cast6.c +++ b/crypto/cast6.c @@ -513,6 +513,7 @@ static struct crypto_alg alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = CAST6_BLOCK_SIZE, .cra_ctxsize = sizeof(struct cast6_ctx), + .cra_alignmask = 3, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(alg.cra_list), .cra_u = { diff --git a/crypto/des.c b/crypto/des.c index dae42981012..7bb548653dc 100644 --- a/crypto/des.c +++ b/crypto/des.c @@ -949,6 +949,7 @@ static struct crypto_alg des_alg = { .cra_blocksize = DES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct des_ctx), .cra_module = THIS_MODULE, + .cra_alignmask = 3, .cra_list = LIST_HEAD_INIT(des_alg.cra_list), .cra_u = { .cipher = { .cia_min_keysize = DES_KEY_SIZE, diff --git a/crypto/khazad.c b/crypto/khazad.c index 6809210362c..807f2bf4ea2 100644 --- a/crypto/khazad.c +++ b/crypto/khazad.c @@ -857,6 +857,7 @@ static struct crypto_alg khazad_alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = KHAZAD_BLOCK_SIZE, .cra_ctxsize = sizeof (struct khazad_ctx), + .cra_alignmask = 7, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(khazad_alg.cra_list), .cra_u = { .cipher = { diff --git a/crypto/serpent.c b/crypto/serpent.c index a950ff85f63..52ad1a49262 100644 --- a/crypto/serpent.c +++ b/crypto/serpent.c @@ -553,6 +553,7 @@ static struct crypto_alg tnepres_alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = SERPENT_BLOCK_SIZE, .cra_ctxsize = sizeof(struct serpent_ctx), + .cra_alignmask = 3, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(serpent_alg.cra_list), .cra_u = { .cipher = { diff --git a/crypto/tea.c b/crypto/tea.c index e0077c72ec2..a6a02b30e47 100644 --- a/crypto/tea.c +++ b/crypto/tea.c @@ -240,6 +240,7 @@ static struct crypto_alg tea_alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = TEA_BLOCK_SIZE, .cra_ctxsize = sizeof (struct tea_ctx), + .cra_alignmask = 3, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(tea_alg.cra_list), .cra_u = { .cipher = { @@ -255,6 +256,7 @@ static struct crypto_alg xtea_alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = XTEA_BLOCK_SIZE, .cra_ctxsize = sizeof (struct xtea_ctx), + .cra_alignmask = 3, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(xtea_alg.cra_list), .cra_u = { .cipher = { @@ -270,6 +272,7 @@ static struct crypto_alg xeta_alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = XTEA_BLOCK_SIZE, .cra_ctxsize = sizeof (struct xtea_ctx), + .cra_alignmask = 3, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(xtea_alg.cra_list), .cra_u = { .cipher = { diff --git a/crypto/twofish.c b/crypto/twofish.c index b501d5ab9c4..a26d885486f 100644 --- a/crypto/twofish.c +++ b/crypto/twofish.c @@ -879,6 +879,7 @@ static struct crypto_alg alg = { .cra_flags = CRYPTO_ALG_TYPE_CIPHER, .cra_blocksize = TF_BLOCK_SIZE, .cra_ctxsize = sizeof(struct twofish_ctx), + .cra_alignmask = 3, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(alg.cra_list), .cra_u = { .cipher = { -- cgit v1.2.3