Lines Matching refs:tcw
166 struct iv_tcw_private tcw; member
564 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_dtr() local
566 kfree_sensitive(tcw->iv_seed); in crypt_iv_tcw_dtr()
567 tcw->iv_seed = NULL; in crypt_iv_tcw_dtr()
568 kfree_sensitive(tcw->whitening); in crypt_iv_tcw_dtr()
569 tcw->whitening = NULL; in crypt_iv_tcw_dtr()
571 if (tcw->crc32_tfm && !IS_ERR(tcw->crc32_tfm)) in crypt_iv_tcw_dtr()
572 crypto_free_shash(tcw->crc32_tfm); in crypt_iv_tcw_dtr()
573 tcw->crc32_tfm = NULL; in crypt_iv_tcw_dtr()
579 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_ctr() local
591 tcw->crc32_tfm = crypto_alloc_shash("crc32", 0, in crypt_iv_tcw_ctr()
593 if (IS_ERR(tcw->crc32_tfm)) { in crypt_iv_tcw_ctr()
595 return PTR_ERR(tcw->crc32_tfm); in crypt_iv_tcw_ctr()
598 tcw->iv_seed = kzalloc(cc->iv_size, GFP_KERNEL); in crypt_iv_tcw_ctr()
599 tcw->whitening = kzalloc(TCW_WHITENING_SIZE, GFP_KERNEL); in crypt_iv_tcw_ctr()
600 if (!tcw->iv_seed || !tcw->whitening) { in crypt_iv_tcw_ctr()
611 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_init() local
614 memcpy(tcw->iv_seed, &cc->key[key_offset], cc->iv_size); in crypt_iv_tcw_init()
615 memcpy(tcw->whitening, &cc->key[key_offset + cc->iv_size], in crypt_iv_tcw_init()
623 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_wipe() local
625 memset(tcw->iv_seed, 0, cc->iv_size); in crypt_iv_tcw_wipe()
626 memset(tcw->whitening, 0, TCW_WHITENING_SIZE); in crypt_iv_tcw_wipe()
635 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_whitening() local
638 SHASH_DESC_ON_STACK(desc, tcw->crc32_tfm); in crypt_iv_tcw_whitening()
642 crypto_xor_cpy(buf, tcw->whitening, (u8 *)§or, 8); in crypt_iv_tcw_whitening()
643 crypto_xor_cpy(&buf[8], tcw->whitening + 8, (u8 *)§or, 8); in crypt_iv_tcw_whitening()
646 desc->tfm = tcw->crc32_tfm; in crypt_iv_tcw_whitening()
673 struct iv_tcw_private *tcw = &cc->iv_gen_private.tcw; in crypt_iv_tcw_gen() local
687 crypto_xor_cpy(iv, tcw->iv_seed, (u8 *)§or, 8); in crypt_iv_tcw_gen()
689 crypto_xor_cpy(&iv[8], tcw->iv_seed + 8, (u8 *)§or, in crypt_iv_tcw_gen()