Lines Matching refs:key

156 	struct nvme_dhchap_key *key;  in nvme_auth_extract_key()  local
166 key = kzalloc(sizeof(*key), GFP_KERNEL); in nvme_auth_extract_key()
167 if (!key) in nvme_auth_extract_key()
169 key->key = kzalloc(allocated_len, GFP_KERNEL); in nvme_auth_extract_key()
170 if (!key->key) { in nvme_auth_extract_key()
175 key_len = base64_decode(secret, allocated_len, key->key); in nvme_auth_extract_key()
204 crc = ~crc32(~0, key->key, key_len); in nvme_auth_extract_key()
206 if (get_unaligned_le32(key->key + key_len) != crc) { in nvme_auth_extract_key()
208 get_unaligned_le32(key->key + key_len), crc); in nvme_auth_extract_key()
212 key->len = key_len; in nvme_auth_extract_key()
213 key->hash = key_hash; in nvme_auth_extract_key()
214 return key; in nvme_auth_extract_key()
216 kfree_sensitive(key->key); in nvme_auth_extract_key()
218 kfree(key); in nvme_auth_extract_key()
223 void nvme_auth_free_key(struct nvme_dhchap_key *key) in nvme_auth_free_key() argument
225 if (!key) in nvme_auth_free_key()
227 kfree_sensitive(key->key); in nvme_auth_free_key()
228 kfree(key); in nvme_auth_free_key()
232 u8 *nvme_auth_transform_key(struct nvme_dhchap_key *key, char *nqn) in nvme_auth_transform_key() argument
240 if (!key || !key->key) { in nvme_auth_transform_key()
244 if (key->hash == 0) { in nvme_auth_transform_key()
245 transformed_key = kmemdup(key->key, key->len, GFP_KERNEL); in nvme_auth_transform_key()
248 hmac_name = nvme_auth_hmac_name(key->hash); in nvme_auth_transform_key()
250 pr_warn("Invalid key hash id %d\n", key->hash); in nvme_auth_transform_key()
273 ret = crypto_shash_setkey(key_tfm, key->key, key->len); in nvme_auth_transform_key()
460 struct nvme_dhchap_key *key; in nvme_auth_generate_key() local
472 key = nvme_auth_extract_key(secret + 10, key_hash); in nvme_auth_generate_key()
473 if (IS_ERR(key)) { in nvme_auth_generate_key()
475 return PTR_ERR(key); in nvme_auth_generate_key()
478 *ret_key = key; in nvme_auth_generate_key()