Lines Matching refs:dctx

102 	struct p8_ghash_desc_ctx *dctx = shash_desc_ctx(desc);  in p8_ghash_init()  local
104 dctx->bytes = 0; in p8_ghash_init()
105 memset(dctx->shash, 0, GHASH_DIGEST_SIZE); in p8_ghash_init()
106 dctx->fallback_desc.tfm = ctx->fallback; in p8_ghash_init()
107 dctx->fallback_desc.flags = desc->flags; in p8_ghash_init()
108 return crypto_shash_init(&dctx->fallback_desc); in p8_ghash_init()
135 struct p8_ghash_desc_ctx *dctx = shash_desc_ctx(desc); in p8_ghash_update() local
138 return crypto_shash_update(&dctx->fallback_desc, src, in p8_ghash_update()
141 if (dctx->bytes) { in p8_ghash_update()
142 if (dctx->bytes + srclen < GHASH_DIGEST_SIZE) { in p8_ghash_update()
143 memcpy(dctx->buffer + dctx->bytes, src, in p8_ghash_update()
145 dctx->bytes += srclen; in p8_ghash_update()
148 memcpy(dctx->buffer + dctx->bytes, src, in p8_ghash_update()
149 GHASH_DIGEST_SIZE - dctx->bytes); in p8_ghash_update()
155 gcm_ghash_p8(dctx->shash, ctx->htable, in p8_ghash_update()
156 dctx->buffer, GHASH_DIGEST_SIZE); in p8_ghash_update()
159 src += GHASH_DIGEST_SIZE - dctx->bytes; in p8_ghash_update()
160 srclen -= GHASH_DIGEST_SIZE - dctx->bytes; in p8_ghash_update()
161 dctx->bytes = 0; in p8_ghash_update()
170 gcm_ghash_p8(dctx->shash, ctx->htable, src, len); in p8_ghash_update()
177 memcpy(dctx->buffer, src, srclen); in p8_ghash_update()
178 dctx->bytes = srclen; in p8_ghash_update()
188 struct p8_ghash_desc_ctx *dctx = shash_desc_ctx(desc); in p8_ghash_final() local
191 return crypto_shash_final(&dctx->fallback_desc, out); in p8_ghash_final()
193 if (dctx->bytes) { in p8_ghash_final()
194 for (i = dctx->bytes; i < GHASH_DIGEST_SIZE; i++) in p8_ghash_final()
195 dctx->buffer[i] = 0; in p8_ghash_final()
201 gcm_ghash_p8(dctx->shash, ctx->htable, in p8_ghash_final()
202 dctx->buffer, GHASH_DIGEST_SIZE); in p8_ghash_final()
205 dctx->bytes = 0; in p8_ghash_final()
207 memcpy(out, dctx->shash, GHASH_DIGEST_SIZE); in p8_ghash_final()