Lines Matching refs:skey

183  * @skey: received session key
207 struct tipc_aead_key *skey;
299 static int tipc_crypto_key_xmit(struct net *net, struct tipc_aead_key *skey,
304 static int tipc_aead_key_generate(struct tipc_aead_key *skey);
358 * @skey: input/output key with new content
362 static int tipc_aead_key_generate(struct tipc_aead_key *skey)
369 rc = crypto_rng_get_bytes(crypto_default_rng, skey->key,
370 skey->keylen);
1217 kfree(rx->skey);
1218 rx->skey = NULL;
1873 rx->nokey = !(rx->skey ||
2223 * @skey: the session key to be sent
2228 * The session key 'skey' is packed in a TIPC v2 'MSG_CRYPTO/KEY_DISTR_MSG'
2233 static int tipc_crypto_key_xmit(struct net *net, struct tipc_aead_key *skey,
2243 size = tipc_aead_key_size(skey);
2256 *((__be32 *)(data + TIPC_AEAD_ALG_NAME)) = htonl(skey->keylen);
2257 memcpy(data, skey->alg_name, TIPC_AEAD_ALG_NAME);
2258 memcpy(data + TIPC_AEAD_ALG_NAME + sizeof(__be32), skey->key,
2259 skey->keylen);
2285 struct tipc_aead_key *skey = NULL;
2307 if (unlikely(rx->skey || (key_gen == rx->key_gen && rx->key.keys))) {
2309 rx->skey, key_gen, rx->key_gen);
2314 skey = kmalloc(size, GFP_ATOMIC);
2315 if (unlikely(!skey)) {
2316 pr_err("%s: unable to allocate memory for skey\n", rx->name);
2321 skey->keylen = keylen;
2322 memcpy(skey->alg_name, data, TIPC_AEAD_ALG_NAME);
2323 memcpy(skey->key, data + TIPC_AEAD_ALG_NAME + sizeof(__be32),
2324 skey->keylen);
2328 rx->skey = skey;
2337 if (likely(skey && queue_delayed_work(tx->wq, &rx->work, 0)))
2379 if (rx->skey) {
2380 rc = tipc_crypto_key_init(rx, rx->skey, rx->skey_mode, false);
2382 pr_warn("%s: unable to attach received skey, err %d\n",
2392 kfree(rx->skey);
2393 rx->skey = NULL;
2443 struct tipc_aead_key *skey = NULL;
2461 skey = kmemdup(aead->key, tipc_aead_key_size(aead->key), GFP_ATOMIC);
2465 if (likely(skey)) {
2466 rc = tipc_aead_key_generate(skey) ?:
2467 tipc_crypto_key_init(tx, skey, PER_NODE_KEY, false);
2470 kfree_sensitive(skey);