Lines Matching defs:tcw

174 		struct iv_tcw_private tcw;
298 * tcw: Compatible implementation of the block chaining mode used
573 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
575 kfree_sensitive(tcw->iv_seed);
576 tcw->iv_seed = NULL;
577 kfree_sensitive(tcw->whitening);
578 tcw->whitening = NULL;
580 if (tcw->crc32_tfm && !IS_ERR(tcw->crc32_tfm))
581 crypto_free_shash(tcw->crc32_tfm);
582 tcw->crc32_tfm = NULL;
588 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
600 tcw->crc32_tfm = crypto_alloc_shash("crc32", 0,
602 if (IS_ERR(tcw->crc32_tfm)) {
604 return PTR_ERR(tcw->crc32_tfm);
607 tcw->iv_seed = kzalloc(cc->iv_size, GFP_KERNEL);
608 tcw->whitening = kzalloc(TCW_WHITENING_SIZE, GFP_KERNEL);
609 if (!tcw->iv_seed || !tcw->whitening) {
620 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
623 memcpy(tcw->iv_seed, &cc->key[key_offset], cc->iv_size);
624 memcpy(tcw->whitening, &cc->key[key_offset + cc->iv_size],
632 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
634 memset(tcw->iv_seed, 0, cc->iv_size);
635 memset(tcw->whitening, 0, TCW_WHITENING_SIZE);
644 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
647 SHASH_DESC_ON_STACK(desc, tcw->crc32_tfm);
651 crypto_xor_cpy(buf, tcw->whitening, (u8 *)&sector, 8);
652 crypto_xor_cpy(&buf[8], tcw->whitening + 8, (u8 *)&sector, 8);
655 desc->tfm = tcw->crc32_tfm;
682 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
696 crypto_xor_cpy(iv, tcw->iv_seed, (u8 *)&sector, 8);
698 crypto_xor_cpy(&iv[8], tcw->iv_seed + 8, (u8 *)&sector,
2866 } else if (strcmp(ivmode, "tcw") == 0) {