X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=crypto%2Fblowfish.c;h=7f710b201f2059cf66f8e2ffb4c2002cd8e14115;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=b6bea821c05f3f25d03b073005b97ee43b112bff;hpb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;p=linux-2.6.git diff --git a/crypto/blowfish.c b/crypto/blowfish.c index b6bea821c..7f710b201 100644 --- a/crypto/blowfish.c +++ b/crypto/blowfish.c @@ -19,8 +19,10 @@ #include #include #include +#include #include #include +#include #define BF_BLOCK_SIZE 8 #define BF_MIN_KEY_SIZE 4 @@ -316,7 +318,7 @@ static const u32 bf_sbox[256 * 4] = { * The blowfish encipher, processes 64-bit blocks. * NOTE: This function MUSTN'T respect endianess */ -static inline void encrypt_block(struct bf_ctx *bctx, u32 *dst, u32 *src) +static void encrypt_block(struct bf_ctx *bctx, u32 *dst, u32 *src) { const u32 *P = bctx->p; const u32 *S = bctx->s; @@ -349,8 +351,8 @@ static inline void encrypt_block(struct bf_ctx *bctx, u32 *dst, u32 *src) static void bf_encrypt(void *ctx, u8 *dst, const u8 *src) { - const u32 *in_blk = (const u32 *)src; - u32 *const out_blk = (u32 *)dst; + const __be32 *in_blk = (const __be32 *)src; + __be32 *const out_blk = (__be32 *)dst; u32 in32[2], out32[2]; in32[0] = be32_to_cpu(in_blk[0]); @@ -362,8 +364,8 @@ static void bf_encrypt(void *ctx, u8 *dst, const u8 *src) static void bf_decrypt(void *ctx, u8 *dst, const u8 *src) { - const u32 *in_blk = (const u32 *)src; - u32 *const out_blk = (u32 *)dst; + const __be32 *in_blk = (const __be32 *)src; + __be32 *const out_blk = (__be32 *)dst; const u32 *P = ((struct bf_ctx *)ctx)->p; const u32 *S = ((struct bf_ctx *)ctx)->s; u32 yl = be32_to_cpu(in_blk[0]); @@ -451,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 = {