X-Git-Url: http://git.onelab.eu/?p=linux-2.6.git;a=blobdiff_plain;f=arch%2Fs390%2Fcrypto%2Fsha1_s390.c;fp=arch%2Fs390%2Fcrypto%2Fsha1_s390.c;h=98c896b86dcd2a7c66e1025c56bd1c12eb02e266;hp=9d34a35b1aa56518cf074831a204c8473c362147;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c diff --git a/arch/s390/crypto/sha1_s390.c b/arch/s390/crypto/sha1_s390.c index 9d34a35b1..98c896b86 100644 --- a/arch/s390/crypto/sha1_s390.c +++ b/arch/s390/crypto/sha1_s390.c @@ -40,29 +40,28 @@ struct crypt_s390_sha1_ctx { u8 buffer[2 * SHA1_BLOCK_SIZE]; }; -static void sha1_init(struct crypto_tfm *tfm) +static void +sha1_init(void *ctx) { - struct crypt_s390_sha1_ctx *ctx = crypto_tfm_ctx(tfm); - static const u32 initstate[5] = { - 0x67452301, - 0xEFCDAB89, - 0x98BADCFE, - 0x10325476, - 0xC3D2E1F0 + static const struct crypt_s390_sha1_ctx initstate = { + .state = { + 0x67452301, + 0xEFCDAB89, + 0x98BADCFE, + 0x10325476, + 0xC3D2E1F0 + }, }; - - ctx->count = 0; - memcpy(ctx->state, &initstate, sizeof(initstate)); - ctx->buf_len = 0; + memcpy(ctx, &initstate, sizeof(initstate)); } -static void sha1_update(struct crypto_tfm *tfm, const u8 *data, - unsigned int len) +static void +sha1_update(void *ctx, const u8 *data, unsigned int len) { struct crypt_s390_sha1_ctx *sctx; long imd_len; - sctx = crypto_tfm_ctx(tfm); + sctx = ctx; sctx->count += len * 8; //message bit length //anything in buffer yet? -> must be completed @@ -111,9 +110,10 @@ pad_message(struct crypt_s390_sha1_ctx* sctx) } /* Add padding and return the message digest. */ -static void sha1_final(struct crypto_tfm *tfm, u8 *out) +static void +sha1_final(void* ctx, u8 *out) { - struct crypt_s390_sha1_ctx *sctx = crypto_tfm_ctx(tfm); + struct crypt_s390_sha1_ctx *sctx = ctx; //must perform manual padding pad_message(sctx);