Lines Matching defs:key
15 #include <linux/key.h>
16 #include <linux/key-type.h>
212 u8 *key;
215 key = sock_kmalloc(sk, keylen, GFP_KERNEL);
216 if (!key)
220 if (copy_from_sockptr(key, ukey, keylen))
223 err = type->setkey(ask->private, key, keylen);
226 sock_kzfree_s(sk, key, keylen);
233 static const u8 *key_data_ptr_user(const struct key *key,
238 ukp = user_key_payload_locked(key);
242 *datalen = key->datalen;
247 static const u8 *key_data_ptr_encrypted(const struct key *key,
252 ekp = dereference_key_locked(key);
261 static const u8 *key_data_ptr_trusted(const struct key *key,
266 tkp = dereference_key_locked(key);
272 return tkp->key;
275 static struct key *lookup_key(key_serial_t serial)
293 struct key *key;
303 key = lookup_key(serial);
304 if (IS_ERR(key))
305 return PTR_ERR(key);
307 down_read(&key->sem);
310 if (!strcmp(key->type->name, "user") ||
311 !strcmp(key->type->name, "logon")) {
312 ret = key_data_ptr_user(key, &key_datalen);
314 !strcmp(key->type->name, "encrypted")) {
315 ret = key_data_ptr_encrypted(key, &key_datalen);
317 !strcmp(key->type->name, "trusted")) {
318 ret = key_data_ptr_trusted(key, &key_datalen);
322 up_read(&key->sem);
323 key_put(key);
329 up_read(&key->sem);
330 key_put(key);
336 up_read(&key->sem);
337 key_put(key);