X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fx86_64%2Fcrypto%2Faes.c;fp=arch%2Fx86_64%2Fcrypto%2Faes.c;h=fb1b961a2e2f185143fbbea09e2e6a43606b72fb;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=68866fab37aa15804a76065286e87cb55da85804;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/x86_64/crypto/aes.c b/arch/x86_64/crypto/aes.c index 68866fab3..fb1b961a2 100644 --- a/arch/x86_64/crypto/aes.c +++ b/arch/x86_64/crypto/aes.c @@ -77,11 +77,12 @@ static inline u8 byte(const u32 x, const unsigned n) struct aes_ctx { u32 key_length; - u32 buf[120]; + u32 E[60]; + u32 D[60]; }; -#define E_KEY (&ctx->buf[0]) -#define D_KEY (&ctx->buf[60]) +#define E_KEY ctx->E +#define D_KEY ctx->D static u8 pow_tab[256] __initdata; static u8 log_tab[256] __initdata; @@ -227,10 +228,10 @@ static void __init gen_tabs(void) t ^= E_KEY[8 * i + 7]; E_KEY[8 * i + 15] = t; \ } -static int aes_set_key(struct crypto_tfm *tfm, const u8 *in_key, - unsigned int key_len, u32 *flags) +static int aes_set_key(void *ctx_arg, const u8 *in_key, unsigned int key_len, + u32 *flags) { - struct aes_ctx *ctx = crypto_tfm_ctx(tfm); + struct aes_ctx *ctx = ctx_arg; const __le32 *key = (const __le32 *)in_key; u32 i, j, t, u, v, w; @@ -283,18 +284,8 @@ static int aes_set_key(struct crypto_tfm *tfm, const u8 *in_key, return 0; } -asmlinkage void aes_enc_blk(struct crypto_tfm *tfm, u8 *out, const u8 *in); -asmlinkage void aes_dec_blk(struct crypto_tfm *tfm, u8 *out, const u8 *in); - -static void aes_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) -{ - aes_enc_blk(tfm, dst, src); -} - -static void aes_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) -{ - aes_dec_blk(tfm, dst, src); -} +extern void aes_encrypt(void *ctx_arg, u8 *out, const u8 *in); +extern void aes_decrypt(void *ctx_arg, u8 *out, const u8 *in); static struct crypto_alg aes_alg = { .cra_name = "aes",