crypt_ctx
err = aes_set_key_common(&ctx->crypt_ctx, key, keylen);
(*crypt_func)(&ctx->crypt_ctx,
(*crypt_func)(&ctx->crypt_ctx, walk.src.virt.addr, walk.dst.virt.addr,
(*crypt_func)(&ctx->crypt_ctx, sg_virt(req->src),
struct crypto_aes_ctx crypt_ctx AESNI_ALIGN_ATTR;
struct bio_crypt_ctx crypt_ctx;
struct bio_crypt_ctx *bc = &f_ctx->crypt_ctx;
f_ctx->crypt_ctx = *bc;
memcpy(rq->crypt_ctx->bc_dun, bio->bi_crypt_context->bc_dun,
sizeof(rq->crypt_ctx->bc_dun));
return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
bio->bi_iter.bi_size, req->crypt_ctx);
return bio_crypt_ctx_mergeable(req->crypt_ctx, blk_rq_bytes(req),
next->crypt_ctx);
rq->crypt_ctx = NULL;
return rq->crypt_ctx;
return bio_crypt_ctx_compatible(rq->crypt_ctx, bio->bi_crypt_context);
rq->crypt_ctx->bc_key,
mempool_free(rq->crypt_ctx, bio_crypt_ctx_pool);
rq->crypt_ctx = NULL;
if (!rq->crypt_ctx) {
rq->crypt_ctx = mempool_alloc(bio_crypt_ctx_pool, gfp_mask);
if (!rq->crypt_ctx)
*rq->crypt_ctx = *bio->bi_crypt_context;
if (!req->crypt_ctx)
mrq->crypto_ctx = req->crypt_ctx;
ses->rq_crypt_ctx = rq->crypt_ctx;
rq->crypt_ctx = NULL;
rq->crypt_ctx = ses->rq_crypt_ctx;
lrbp->data_unit_num = rq->crypt_ctx->bc_dun[0];
const struct bio_crypt_ctx *crypt_ctx = scsi_cmd_to_rq(cmd)->crypt_ctx;
if (crypt_ctx && hba->vops && hba->vops->fill_crypto_prdt)
return hba->vops->fill_crypto_prdt(hba, crypt_ctx,
if (!(scsi_cmd_to_rq(cmd)->crypt_ctx))
const struct bio_crypt_ctx *crypt_ctx,
const u8 *enckey = crypt_ctx->bc_key->bytes;
u64 dun_lo = crypt_ctx->bc_dun[0];
u64 dun_hi = crypt_ctx->bc_dun[1];
const struct bio_crypt_ctx *crypt_ctx,