Lines Matching refs:dctx

100 	struct p8_ghash_desc_ctx *dctx = shash_desc_ctx(desc);  in p8_ghash_init()  local
102 dctx->bytes = 0; in p8_ghash_init()
103 memset(dctx->shash, 0, GHASH_DIGEST_SIZE); in p8_ghash_init()
104 dctx->fallback_desc.tfm = ctx->fallback; in p8_ghash_init()
105 dctx->fallback_desc.flags = desc->flags; in p8_ghash_init()
106 return crypto_shash_init(&dctx->fallback_desc); in p8_ghash_init()
132 struct p8_ghash_desc_ctx *dctx = shash_desc_ctx(desc); in p8_ghash_update() local
135 return crypto_shash_update(&dctx->fallback_desc, src, in p8_ghash_update()
138 if (dctx->bytes) { in p8_ghash_update()
139 if (dctx->bytes + srclen < GHASH_DIGEST_SIZE) { in p8_ghash_update()
140 memcpy(dctx->buffer + dctx->bytes, src, in p8_ghash_update()
142 dctx->bytes += srclen; in p8_ghash_update()
145 memcpy(dctx->buffer + dctx->bytes, src, in p8_ghash_update()
146 GHASH_DIGEST_SIZE - dctx->bytes); in p8_ghash_update()
150 gcm_ghash_p8(dctx->shash, ctx->htable, in p8_ghash_update()
151 dctx->buffer, GHASH_DIGEST_SIZE); in p8_ghash_update()
155 src += GHASH_DIGEST_SIZE - dctx->bytes; in p8_ghash_update()
156 srclen -= GHASH_DIGEST_SIZE - dctx->bytes; in p8_ghash_update()
157 dctx->bytes = 0; in p8_ghash_update()
164 gcm_ghash_p8(dctx->shash, ctx->htable, src, len); in p8_ghash_update()
172 memcpy(dctx->buffer, src, srclen); in p8_ghash_update()
173 dctx->bytes = srclen; in p8_ghash_update()
183 struct p8_ghash_desc_ctx *dctx = shash_desc_ctx(desc); in p8_ghash_final() local
186 return crypto_shash_final(&dctx->fallback_desc, out); in p8_ghash_final()
188 if (dctx->bytes) { in p8_ghash_final()
189 for (i = dctx->bytes; i < GHASH_DIGEST_SIZE; i++) in p8_ghash_final()
190 dctx->buffer[i] = 0; in p8_ghash_final()
194 gcm_ghash_p8(dctx->shash, ctx->htable, in p8_ghash_final()
195 dctx->buffer, GHASH_DIGEST_SIZE); in p8_ghash_final()
199 dctx->bytes = 0; in p8_ghash_final()
201 memcpy(out, dctx->shash, GHASH_DIGEST_SIZE); in p8_ghash_final()