Lines Matching defs:key_tfm
1511 * @key_tfm: Crypto context for key material, set by this function
1520 ecryptfs_process_key_cipher(struct crypto_skcipher **key_tfm,
1527 *key_tfm = NULL;
1538 *key_tfm = crypto_alloc_skcipher(full_alg_name, 0, CRYPTO_ALG_ASYNC);
1539 if (IS_ERR(*key_tfm)) {
1540 rc = PTR_ERR(*key_tfm);
1545 crypto_skcipher_set_flags(*key_tfm, CRYPTO_TFM_REQ_FORBID_WEAK_KEYS);
1547 *key_size = crypto_skcipher_max_keysize(*key_tfm);
1549 rc = crypto_skcipher_setkey(*key_tfm, dummy_key, *key_size);
1579 struct ecryptfs_key_tfm *key_tfm, *key_tfm_tmp;
1582 list_for_each_entry_safe(key_tfm, key_tfm_tmp, &key_tfm_list,
1584 list_del(&key_tfm->key_tfm_list);
1585 crypto_free_skcipher(key_tfm->key_tfm);
1586 kmem_cache_free(ecryptfs_key_tfm_cache, key_tfm);
1593 ecryptfs_add_new_key_tfm(struct ecryptfs_key_tfm **key_tfm, char *cipher_name,
1602 if (key_tfm)
1603 (*key_tfm) = tmp_tfm;
1613 rc = ecryptfs_process_key_cipher(&tmp_tfm->key_tfm,
1621 if (key_tfm)
1622 (*key_tfm) = NULL;
1633 * @key_tfm: set to corresponding tfm if found
1635 * Searches for cached key_tfm matching @cipher_name
1637 * Returns 1 if found, with @key_tfm set
1638 * Returns 0 if not found, with @key_tfm set to NULL
1640 int ecryptfs_tfm_exists(char *cipher_name, struct ecryptfs_key_tfm **key_tfm)
1648 if (key_tfm)
1649 (*key_tfm) = tmp_key_tfm;
1653 if (key_tfm)
1654 (*key_tfm) = NULL;
1673 struct ecryptfs_key_tfm *key_tfm;
1680 if (!ecryptfs_tfm_exists(cipher_name, &key_tfm)) {
1681 rc = ecryptfs_add_new_key_tfm(&key_tfm, cipher_name, 0);
1683 printk(KERN_ERR "Error adding new key_tfm to list; "
1688 (*tfm) = key_tfm->key_tfm;
1689 (*tfm_mutex) = &key_tfm->key_tfm_mutex;