Lines Matching refs:desc

74 static int shash_update_unaligned(struct shash_desc *desc, const u8 *data,  in shash_update_unaligned()  argument
77 struct crypto_shash *tfm = desc->tfm; in shash_update_unaligned()
91 err = shash->update(desc, buf, unaligned_len); in shash_update_unaligned()
95 shash->update(desc, data + unaligned_len, len - unaligned_len); in shash_update_unaligned()
98 int crypto_shash_update(struct shash_desc *desc, const u8 *data, in crypto_shash_update() argument
101 struct crypto_shash *tfm = desc->tfm; in crypto_shash_update()
106 return shash_update_unaligned(desc, data, len); in crypto_shash_update()
108 return shash->update(desc, data, len); in crypto_shash_update()
112 static int shash_final_unaligned(struct shash_desc *desc, u8 *out) in shash_final_unaligned() argument
114 struct crypto_shash *tfm = desc->tfm; in shash_final_unaligned()
123 err = shash->final(desc, buf); in shash_final_unaligned()
134 int crypto_shash_final(struct shash_desc *desc, u8 *out) in crypto_shash_final() argument
136 struct crypto_shash *tfm = desc->tfm; in crypto_shash_final()
141 return shash_final_unaligned(desc, out); in crypto_shash_final()
143 return shash->final(desc, out); in crypto_shash_final()
147 static int shash_finup_unaligned(struct shash_desc *desc, const u8 *data, in shash_finup_unaligned() argument
150 return crypto_shash_update(desc, data, len) ?: in shash_finup_unaligned()
151 crypto_shash_final(desc, out); in shash_finup_unaligned()
154 int crypto_shash_finup(struct shash_desc *desc, const u8 *data, in crypto_shash_finup() argument
157 struct crypto_shash *tfm = desc->tfm; in crypto_shash_finup()
162 return shash_finup_unaligned(desc, data, len, out); in crypto_shash_finup()
164 return shash->finup(desc, data, len, out); in crypto_shash_finup()
168 static int shash_digest_unaligned(struct shash_desc *desc, const u8 *data, in shash_digest_unaligned() argument
171 return crypto_shash_init(desc) ?: in shash_digest_unaligned()
172 crypto_shash_finup(desc, data, len, out); in shash_digest_unaligned()
175 int crypto_shash_digest(struct shash_desc *desc, const u8 *data, in crypto_shash_digest() argument
178 struct crypto_shash *tfm = desc->tfm; in crypto_shash_digest()
183 return shash_digest_unaligned(desc, data, len, out); in crypto_shash_digest()
185 return shash->digest(desc, data, len, out); in crypto_shash_digest()
189 static int shash_default_export(struct shash_desc *desc, void *out) in shash_default_export() argument
191 memcpy(out, shash_desc_ctx(desc), crypto_shash_descsize(desc->tfm)); in shash_default_export()
195 static int shash_default_import(struct shash_desc *desc, const void *in) in shash_default_import() argument
197 memcpy(shash_desc_ctx(desc), in, crypto_shash_descsize(desc->tfm)); in shash_default_import()
212 struct shash_desc *desc = ahash_request_ctx(req); in shash_async_init() local
214 desc->tfm = *ctx; in shash_async_init()
215 desc->flags = req->base.flags; in shash_async_init()
217 return crypto_shash_init(desc); in shash_async_init()
220 int shash_ahash_update(struct ahash_request *req, struct shash_desc *desc) in shash_ahash_update() argument
227 nbytes = crypto_shash_update(desc, walk.data, nbytes); in shash_ahash_update()
243 int shash_ahash_finup(struct ahash_request *req, struct shash_desc *desc) in shash_ahash_finup() argument
250 return crypto_shash_final(desc, req->result); in shash_ahash_finup()
254 crypto_shash_finup(desc, walk.data, nbytes, in shash_ahash_finup()
256 crypto_shash_update(desc, walk.data, nbytes); in shash_ahash_finup()
267 struct shash_desc *desc = ahash_request_ctx(req); in shash_async_finup() local
269 desc->tfm = *ctx; in shash_async_finup()
270 desc->flags = req->base.flags; in shash_async_finup()
272 return shash_ahash_finup(req, desc); in shash_async_finup()
275 int shash_ahash_digest(struct ahash_request *req, struct shash_desc *desc) in shash_ahash_digest() argument
286 err = crypto_shash_digest(desc, data + offset, nbytes, in shash_ahash_digest()
289 crypto_yield(desc->flags); in shash_ahash_digest()
291 err = crypto_shash_init(desc) ?: in shash_ahash_digest()
292 shash_ahash_finup(req, desc); in shash_ahash_digest()
301 struct shash_desc *desc = ahash_request_ctx(req); in shash_async_digest() local
303 desc->tfm = *ctx; in shash_async_digest()
304 desc->flags = req->base.flags; in shash_async_digest()
306 return shash_ahash_digest(req, desc); in shash_async_digest()
317 struct shash_desc *desc = ahash_request_ctx(req); in shash_async_import() local
319 desc->tfm = *ctx; in shash_async_import()
320 desc->flags = req->base.flags; in shash_async_import()
322 return crypto_shash_import(desc, in); in shash_async_import()
375 struct shash_desc *desc = *descp; in shash_compat_setkey() local
377 return crypto_shash_setkey(desc->tfm, key, keylen); in shash_compat_setkey()
383 struct shash_desc *desc = *descp; in shash_compat_init() local
385 desc->flags = hdesc->flags; in shash_compat_init()
387 return crypto_shash_init(desc); in shash_compat_init()
394 struct shash_desc *desc = *descp; in shash_compat_update() local
400 nbytes = crypto_shash_update(desc, walk.data, nbytes); in shash_compat_update()
420 struct shash_desc *desc = *descp; in shash_compat_digest() local
423 desc->flags = hdesc->flags; in shash_compat_digest()
426 err = crypto_shash_digest(desc, data + offset, nbytes, out); in shash_compat_digest()
428 crypto_yield(desc->flags); in shash_compat_digest()
449 struct shash_desc *desc = *descp; in crypto_exit_shash_ops_compat() local
451 crypto_free_shash(desc->tfm); in crypto_exit_shash_ops_compat()
452 kzfree(desc); in crypto_exit_shash_ops_compat()
462 struct shash_desc *desc; in crypto_init_shash_ops_compat() local
473 desc = kmalloc(sizeof(*desc) + crypto_shash_descsize(shash), in crypto_init_shash_ops_compat()
475 if (!desc) { in crypto_init_shash_ops_compat()
480 *descp = desc; in crypto_init_shash_ops_compat()
481 desc->tfm = shash; in crypto_init_shash_ops_compat()