Lines Matching defs:tcw

167 		struct iv_tcw_private tcw;
291 * tcw: Compatible implementation of the block chaining mode used
565 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
567 kfree_sensitive(tcw->iv_seed);
568 tcw->iv_seed = NULL;
569 kfree_sensitive(tcw->whitening);
570 tcw->whitening = NULL;
572 if (tcw->crc32_tfm && !IS_ERR(tcw->crc32_tfm))
573 crypto_free_shash(tcw->crc32_tfm);
574 tcw->crc32_tfm = NULL;
580 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
592 tcw->crc32_tfm = crypto_alloc_shash("crc32", 0,
594 if (IS_ERR(tcw->crc32_tfm)) {
596 return PTR_ERR(tcw->crc32_tfm);
599 tcw->iv_seed = kzalloc(cc->iv_size, GFP_KERNEL);
600 tcw->whitening = kzalloc(TCW_WHITENING_SIZE, GFP_KERNEL);
601 if (!tcw->iv_seed || !tcw->whitening) {
612 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
615 memcpy(tcw->iv_seed, &cc->key[key_offset], cc->iv_size);
616 memcpy(tcw->whitening, &cc->key[key_offset + cc->iv_size],
624 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
626 memset(tcw->iv_seed, 0, cc->iv_size);
627 memset(tcw->whitening, 0, TCW_WHITENING_SIZE);
636 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
639 SHASH_DESC_ON_STACK(desc, tcw->crc32_tfm);
643 crypto_xor_cpy(buf, tcw->whitening, (u8 *)&sector, 8);
644 crypto_xor_cpy(&buf[8], tcw->whitening + 8, (u8 *)&sector, 8);
647 desc->tfm = tcw->crc32_tfm;
674 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw;
688 crypto_xor_cpy(iv, tcw->iv_seed, (u8 *)&sector, 8);
690 crypto_xor_cpy(&iv[8], tcw->iv_seed + 8, (u8 *)&sector,
2779 } else if (strcmp(ivmode, "tcw") == 0) {