static int padlock_sha_import(struct shash_desc *desc, const void *in) { struct padlock_sha_desc *dctx = shash_desc_ctx(desc); struct padlock_sha_ctx *ctx = crypto_shash_ctx(desc->tfm); dctx->fallback.tfm = ctx->fallback; dctx->fallback.flags = desc->flags & CRYPTO_TFM_REQ_MAY_SLEEP; return crypto_shash_import(&dctx->fallback, in); }
static inline int mv_hash_import_sha1_ctx(const struct mv_req_hash_ctx *ctx, struct shash_desc *desc) { int i; struct sha1_state shash_state; shash_state.count = ctx->count + ctx->count_add; for (i = 0; i < 5; i++) shash_state.state[i] = ctx->state[i]; memcpy(shash_state.buffer, ctx->buffer, sizeof(shash_state.buffer)); return crypto_shash_import(desc, &shash_state); }