Lines Matching refs:key

158 	struct nvme_dhchap_key key;  in nvme_auth_key_struct_size()  local
160 return struct_size(&key, key, key_len); in nvme_auth_key_struct_size()
167 struct nvme_dhchap_key *key; in nvme_auth_extract_key() local
177 key = nvme_auth_alloc_key(allocated_len, 0); in nvme_auth_extract_key()
178 if (!key) in nvme_auth_extract_key()
181 key_len = base64_decode(secret, allocated_len, key->key); in nvme_auth_extract_key()
202 crc = ~crc32(~0, key->key, key_len); in nvme_auth_extract_key()
204 if (get_unaligned_le32(key->key + key_len) != crc) { in nvme_auth_extract_key()
206 get_unaligned_le32(key->key + key_len), crc); in nvme_auth_extract_key()
210 key->len = key_len; in nvme_auth_extract_key()
211 key->hash = key_hash; in nvme_auth_extract_key()
212 return key; in nvme_auth_extract_key()
214 nvme_auth_free_key(key); in nvme_auth_extract_key()
222 struct nvme_dhchap_key *key = kzalloc(num_bytes, GFP_KERNEL); in nvme_auth_alloc_key() local
224 if (key) { in nvme_auth_alloc_key()
225 key->len = len; in nvme_auth_alloc_key()
226 key->hash = hash; in nvme_auth_alloc_key()
228 return key; in nvme_auth_alloc_key()
232 void nvme_auth_free_key(struct nvme_dhchap_key *key) in nvme_auth_free_key() argument
234 if (!key) in nvme_auth_free_key()
236 kfree_sensitive(key); in nvme_auth_free_key()
241 struct nvme_dhchap_key *key, char *nqn) in nvme_auth_transform_key() argument
249 if (!key) { in nvme_auth_transform_key()
253 if (key->hash == 0) { in nvme_auth_transform_key()
254 key_len = nvme_auth_key_struct_size(key->len); in nvme_auth_transform_key()
255 transformed_key = kmemdup(key, key_len, GFP_KERNEL); in nvme_auth_transform_key()
260 hmac_name = nvme_auth_hmac_name(key->hash); in nvme_auth_transform_key()
262 pr_warn("Invalid key hash id %d\n", key->hash); in nvme_auth_transform_key()
271 transformed_key = nvme_auth_alloc_key(key_len, key->hash); in nvme_auth_transform_key()
278 ret = crypto_shash_setkey(key_tfm, key->key, key->len); in nvme_auth_transform_key()
290 ret = crypto_shash_final(shash, transformed_key->key); in nvme_auth_transform_key()
443 struct nvme_dhchap_key *key; in nvme_auth_generate_key() local
455 key = nvme_auth_extract_key(secret + 10, key_hash); in nvme_auth_generate_key()
456 if (IS_ERR(key)) { in nvme_auth_generate_key()
458 return PTR_ERR(key); in nvme_auth_generate_key()
461 *ret_key = key; in nvme_auth_generate_key()