Lines Matching refs:iv

82 	int (*generator)(struct crypt_config *cc, u8 *iv,
84 int (*post)(struct crypt_config *cc, u8 *iv,
244 static int crypt_iv_plain_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_plain_gen() argument
247 memset(iv, 0, cc->iv_size); in crypt_iv_plain_gen()
248 *(__le32 *)iv = cpu_to_le32(dmreq->iv_sector & 0xffffffff); in crypt_iv_plain_gen()
253 static int crypt_iv_plain64_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_plain64_gen() argument
256 memset(iv, 0, cc->iv_size); in crypt_iv_plain64_gen()
257 *(__le64 *)iv = cpu_to_le64(dmreq->iv_sector); in crypt_iv_plain64_gen()
407 static int crypt_iv_essiv_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_essiv_gen() argument
412 memset(iv, 0, cc->iv_size); in crypt_iv_essiv_gen()
413 *(__le64 *)iv = cpu_to_le64(dmreq->iv_sector); in crypt_iv_essiv_gen()
414 crypto_cipher_encrypt_one(essiv_tfm, iv, iv); in crypt_iv_essiv_gen()
447 static int crypt_iv_benbi_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_benbi_gen() argument
452 memset(iv, 0, cc->iv_size - sizeof(u64)); /* rest is cleared below */ in crypt_iv_benbi_gen()
455 put_unaligned(val, (__be64 *)(iv + cc->iv_size - sizeof(u64))); in crypt_iv_benbi_gen()
460 static int crypt_iv_null_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_null_gen() argument
463 memset(iv, 0, cc->iv_size); in crypt_iv_null_gen()
530 static int crypt_iv_lmk_one(struct crypt_config *cc, u8 *iv, in crypt_iv_lmk_one() argument
574 memcpy(iv, &md5state.hash, cc->iv_size); in crypt_iv_lmk_one()
579 static int crypt_iv_lmk_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_lmk_gen() argument
587 r = crypt_iv_lmk_one(cc, iv, dmreq, src + dmreq->sg_in.offset); in crypt_iv_lmk_gen()
590 memset(iv, 0, cc->iv_size); in crypt_iv_lmk_gen()
595 static int crypt_iv_lmk_post(struct crypt_config *cc, u8 *iv, in crypt_iv_lmk_post() argument
605 r = crypt_iv_lmk_one(cc, iv, dmreq, dst + dmreq->sg_out.offset); in crypt_iv_lmk_post()
609 crypto_xor(dst + dmreq->sg_out.offset, iv, cc->iv_size); in crypt_iv_lmk_post()
718 static int crypt_iv_tcw_gen(struct crypt_config *cc, u8 *iv, in crypt_iv_tcw_gen() argument
734 memcpy(iv, tcw->iv_seed, cc->iv_size); in crypt_iv_tcw_gen()
735 crypto_xor(iv, (u8 *)&sector, 8); in crypt_iv_tcw_gen()
737 crypto_xor(&iv[8], (u8 *)&sector, cc->iv_size - 8); in crypt_iv_tcw_gen()
742 static int crypt_iv_tcw_post(struct crypt_config *cc, u8 *iv, in crypt_iv_tcw_post() argument
844 u8 *iv; in crypt_convert_block() local
848 iv = iv_of_dmreq(cc, dmreq); in crypt_convert_block()
864 r = cc->iv_gen_ops->generator(cc, iv, dmreq); in crypt_convert_block()
870 1 << SECTOR_SHIFT, iv); in crypt_convert_block()
878 r = cc->iv_gen_ops->post(cc, iv, dmreq); in crypt_convert_block()