Lines Matching refs:tcw
165 struct iv_tcw_private tcw; member
563 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_dtr() local
565 kfree_sensitive(tcw->iv_seed); in crypt_iv_tcw_dtr()
566 tcw->iv_seed = NULL; in crypt_iv_tcw_dtr()
567 kfree_sensitive(tcw->whitening); in crypt_iv_tcw_dtr()
568 tcw->whitening = NULL; in crypt_iv_tcw_dtr()
570 if (tcw->crc32_tfm && !IS_ERR(tcw->crc32_tfm)) in crypt_iv_tcw_dtr()
571 crypto_free_shash(tcw->crc32_tfm); in crypt_iv_tcw_dtr()
572 tcw->crc32_tfm = NULL; in crypt_iv_tcw_dtr()
578 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_ctr() local
590 tcw->crc32_tfm = crypto_alloc_shash("crc32", 0, in crypt_iv_tcw_ctr()
592 if (IS_ERR(tcw->crc32_tfm)) { in crypt_iv_tcw_ctr()
594 return PTR_ERR(tcw->crc32_tfm); in crypt_iv_tcw_ctr()
597 tcw->iv_seed = kzalloc(cc->iv_size, GFP_KERNEL); in crypt_iv_tcw_ctr()
598 tcw->whitening = kzalloc(TCW_WHITENING_SIZE, GFP_KERNEL); in crypt_iv_tcw_ctr()
599 if (!tcw->iv_seed || !tcw->whitening) { in crypt_iv_tcw_ctr()
610 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_init() local
613 memcpy(tcw->iv_seed, &cc->key[key_offset], cc->iv_size); in crypt_iv_tcw_init()
614 memcpy(tcw->whitening, &cc->key[key_offset + cc->iv_size], in crypt_iv_tcw_init()
622 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_wipe() local
624 memset(tcw->iv_seed, 0, cc->iv_size); in crypt_iv_tcw_wipe()
625 memset(tcw->whitening, 0, TCW_WHITENING_SIZE); in crypt_iv_tcw_wipe()
634 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_whitening() local
637 SHASH_DESC_ON_STACK(desc, tcw->crc32_tfm); in crypt_iv_tcw_whitening()
641 crypto_xor_cpy(buf, tcw->whitening, (u8 *)§or, 8); in crypt_iv_tcw_whitening()
642 crypto_xor_cpy(&buf[8], tcw->whitening + 8, (u8 *)§or, 8); in crypt_iv_tcw_whitening()
645 desc->tfm = tcw->crc32_tfm; in crypt_iv_tcw_whitening()
672 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_gen() local
686 crypto_xor_cpy(iv, tcw->iv_seed, (u8 *)§or, 8); in crypt_iv_tcw_gen()
688 crypto_xor_cpy(&iv[8], tcw->iv_seed + 8, (u8 *)§or, in crypt_iv_tcw_gen()