Lines Matching refs:iv
82 int (*generator)(struct crypt_config *cc, u8 *iv,
84 int (*post)(struct crypt_config *cc, u8 *iv,
243 static int crypt_iv_plain_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_plain_gen() argument
246 memset(iv, 0, cc->iv_size); in crypt_iv_plain_gen()
247 *(__le32 *)iv = cpu_to_le32(dmreq->iv_sector & 0xffffffff); in crypt_iv_plain_gen()
252 static int crypt_iv_plain64_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_plain64_gen() argument
255 memset(iv, 0, cc->iv_size); in crypt_iv_plain64_gen()
256 *(__le64 *)iv = cpu_to_le64(dmreq->iv_sector); in crypt_iv_plain64_gen()
406 static int crypt_iv_essiv_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_essiv_gen() argument
411 memset(iv, 0, cc->iv_size); in crypt_iv_essiv_gen()
412 *(__le64 *)iv = cpu_to_le64(dmreq->iv_sector); in crypt_iv_essiv_gen()
413 crypto_cipher_encrypt_one(essiv_tfm, iv, iv); in crypt_iv_essiv_gen()
446 static int crypt_iv_benbi_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_benbi_gen() argument
451 memset(iv, 0, cc->iv_size - sizeof(u64)); /* rest is cleared below */ in crypt_iv_benbi_gen()
454 put_unaligned(val, (__be64 *)(iv + cc->iv_size - sizeof(u64))); in crypt_iv_benbi_gen()
459 static int crypt_iv_null_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_null_gen() argument
462 memset(iv, 0, cc->iv_size); in crypt_iv_null_gen()
529 static int crypt_iv_lmk_one(struct crypt_config *cc, u8 *iv, in crypt_iv_lmk_one() argument
573 memcpy(iv, &md5state.hash, cc->iv_size); in crypt_iv_lmk_one()
578 static int crypt_iv_lmk_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_lmk_gen() argument
586 r = crypt_iv_lmk_one(cc, iv, dmreq, src + dmreq->sg_in.offset); in crypt_iv_lmk_gen()
589 memset(iv, 0, cc->iv_size); in crypt_iv_lmk_gen()
594 static int crypt_iv_lmk_post(struct crypt_config *cc, u8 *iv, in crypt_iv_lmk_post() argument
604 r = crypt_iv_lmk_one(cc, iv, dmreq, dst + dmreq->sg_out.offset); in crypt_iv_lmk_post()
608 crypto_xor(dst + dmreq->sg_out.offset, iv, cc->iv_size); in crypt_iv_lmk_post()
717 static int crypt_iv_tcw_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_tcw_gen() argument
733 memcpy(iv, tcw->iv_seed, cc->iv_size); in crypt_iv_tcw_gen()
734 crypto_xor(iv, (u8 *)§or, 8); in crypt_iv_tcw_gen()
736 crypto_xor(&iv[8], (u8 *)§or, cc->iv_size - 8); in crypt_iv_tcw_gen()
741 static int crypt_iv_tcw_post(struct crypt_config *cc, u8 *iv, in crypt_iv_tcw_post() argument
843 u8 *iv; in crypt_convert_block() local
847 iv = iv_of_dmreq(cc, dmreq); in crypt_convert_block()
863 r = cc->iv_gen_ops->generator(cc, iv, dmreq); in crypt_convert_block()
869 1 << SECTOR_SHIFT, iv); in crypt_convert_block()
877 r = cc->iv_gen_ops->post(cc, iv, dmreq); in crypt_convert_block()