diff options
Diffstat (limited to 'arch/s390/crypto/sha1_s390.c')
-rw-r--r-- | arch/s390/crypto/sha1_s390.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/arch/s390/crypto/sha1_s390.c b/arch/s390/crypto/sha1_s390.c index 98c896b86dcd..9d34a35b1aa5 100644 --- a/arch/s390/crypto/sha1_s390.c +++ b/arch/s390/crypto/sha1_s390.c | |||
@@ -40,28 +40,29 @@ struct crypt_s390_sha1_ctx { | |||
40 | u8 buffer[2 * SHA1_BLOCK_SIZE]; | 40 | u8 buffer[2 * SHA1_BLOCK_SIZE]; |
41 | }; | 41 | }; |
42 | 42 | ||
43 | static void | 43 | static void sha1_init(struct crypto_tfm *tfm) |
44 | sha1_init(void *ctx) | ||
45 | { | 44 | { |
46 | static const struct crypt_s390_sha1_ctx initstate = { | 45 | struct crypt_s390_sha1_ctx *ctx = crypto_tfm_ctx(tfm); |
47 | .state = { | 46 | static const u32 initstate[5] = { |
48 | 0x67452301, | 47 | 0x67452301, |
49 | 0xEFCDAB89, | 48 | 0xEFCDAB89, |
50 | 0x98BADCFE, | 49 | 0x98BADCFE, |
51 | 0x10325476, | 50 | 0x10325476, |
52 | 0xC3D2E1F0 | 51 | 0xC3D2E1F0 |
53 | }, | ||
54 | }; | 52 | }; |
55 | memcpy(ctx, &initstate, sizeof(initstate)); | 53 | |
54 | ctx->count = 0; | ||
55 | memcpy(ctx->state, &initstate, sizeof(initstate)); | ||
56 | ctx->buf_len = 0; | ||
56 | } | 57 | } |
57 | 58 | ||
58 | static void | 59 | static void sha1_update(struct crypto_tfm *tfm, const u8 *data, |
59 | sha1_update(void *ctx, const u8 *data, unsigned int len) | 60 | unsigned int len) |
60 | { | 61 | { |
61 | struct crypt_s390_sha1_ctx *sctx; | 62 | struct crypt_s390_sha1_ctx *sctx; |
62 | long imd_len; | 63 | long imd_len; |
63 | 64 | ||
64 | sctx = ctx; | 65 | sctx = crypto_tfm_ctx(tfm); |
65 | sctx->count += len * 8; //message bit length | 66 | sctx->count += len * 8; //message bit length |
66 | 67 | ||
67 | //anything in buffer yet? -> must be completed | 68 | //anything in buffer yet? -> must be completed |
@@ -110,10 +111,9 @@ pad_message(struct crypt_s390_sha1_ctx* sctx) | |||
110 | } | 111 | } |
111 | 112 | ||
112 | /* Add padding and return the message digest. */ | 113 | /* Add padding and return the message digest. */ |
113 | static void | 114 | static void sha1_final(struct crypto_tfm *tfm, u8 *out) |
114 | sha1_final(void* ctx, u8 *out) | ||
115 | { | 115 | { |
116 | struct crypt_s390_sha1_ctx *sctx = ctx; | 116 | struct crypt_s390_sha1_ctx *sctx = crypto_tfm_ctx(tfm); |
117 | 117 | ||
118 | //must perform manual padding | 118 | //must perform manual padding |
119 | pad_message(sctx); | 119 | pad_message(sctx); |