Commit 7c390170b49337477985be7a624015160ffeb056
Committed by
Herbert Xu
1 parent
b64dc04beb
Exists in
master
and in
20 other branches
crypto: sha1 - export sha1_update for reuse
Export the update function as crypto_sha1_update() to not have the need to reimplement the same algorithm for each SHA-1 implementation. This way the generic SHA-1 implementation can be used as fallback for other implementations that fail to run under certain circumstances, like the need for an FPU context while executing in IRQ context. Signed-off-by: Mathias Krause <minipli@googlemail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Showing 2 changed files with 8 additions and 4 deletions Side-by-side Diff
crypto/sha1_generic.c
... | ... | @@ -36,7 +36,7 @@ |
36 | 36 | return 0; |
37 | 37 | } |
38 | 38 | |
39 | -static int sha1_update(struct shash_desc *desc, const u8 *data, | |
39 | +int crypto_sha1_update(struct shash_desc *desc, const u8 *data, | |
40 | 40 | unsigned int len) |
41 | 41 | { |
42 | 42 | struct sha1_state *sctx = shash_desc_ctx(desc); |
... | ... | @@ -71,6 +71,7 @@ |
71 | 71 | |
72 | 72 | return 0; |
73 | 73 | } |
74 | +EXPORT_SYMBOL(crypto_sha1_update); | |
74 | 75 | |
75 | 76 | |
76 | 77 | /* Add padding and return the message digest. */ |
77 | 78 | |
... | ... | @@ -87,10 +88,10 @@ |
87 | 88 | /* Pad out to 56 mod 64 */ |
88 | 89 | index = sctx->count & 0x3f; |
89 | 90 | padlen = (index < 56) ? (56 - index) : ((64+56) - index); |
90 | - sha1_update(desc, padding, padlen); | |
91 | + crypto_sha1_update(desc, padding, padlen); | |
91 | 92 | |
92 | 93 | /* Append length */ |
93 | - sha1_update(desc, (const u8 *)&bits, sizeof(bits)); | |
94 | + crypto_sha1_update(desc, (const u8 *)&bits, sizeof(bits)); | |
94 | 95 | |
95 | 96 | /* Store state in digest */ |
96 | 97 | for (i = 0; i < 5; i++) |
... | ... | @@ -121,7 +122,7 @@ |
121 | 122 | static struct shash_alg alg = { |
122 | 123 | .digestsize = SHA1_DIGEST_SIZE, |
123 | 124 | .init = sha1_init, |
124 | - .update = sha1_update, | |
125 | + .update = crypto_sha1_update, | |
125 | 126 | .final = sha1_final, |
126 | 127 | .export = sha1_export, |
127 | 128 | .import = sha1_import, |