Lines Matching defs:key

21  * get a key
23 struct key *afs_request_key(struct afs_cell *cell)
25 struct key *key;
29 _debug("key %s", cell->anonymous_key->description);
30 key = request_key_net(&key_type_rxrpc, cell->anonymous_key->description,
32 if (IS_ERR(key)) {
33 if (PTR_ERR(key) != -ENOKEY) {
34 _leave(" = %ld", PTR_ERR(key));
35 return key;
43 _leave(" = {%x} [auth]", key_serial(key));
44 return key;
49 * Get a key when pathwalk is in rcuwalk mode.
51 struct key *afs_request_key_rcu(struct afs_cell *cell)
53 struct key *key;
57 _debug("key %s", cell->anonymous_key->description);
58 key = request_key_net_rcu(&key_type_rxrpc,
61 if (IS_ERR(key)) {
62 if (PTR_ERR(key) != -ENOKEY) {
63 _leave(" = %ld", PTR_ERR(key));
64 return key;
72 _leave(" = {%x} [auth]", key_serial(key));
73 return key;
87 key_put(permits->permits[i].key);
130 h += (unsigned long)permits->permits[i].key / sizeof(void *);
139 * that returned a vnode status for a particular key. If a callback break
143 void afs_cache_permit(struct afs_vnode *vnode, struct key *key,
153 vnode->fid.vid, vnode->fid.vnode, key_serial(key), caller_access);
164 if (permits->permits[i].key < key)
166 if (permits->permits[i].key > key)
218 * We fill in the key pointers at this time, but we don't get the refs
231 if (j == i && permits->permits[i].key > key) {
232 new->permits[j].key = key;
236 new->permits[j].key = permits->permits[i].key;
243 new->permits[j].key = key;
269 key_get(new->permits[i].key);
303 static bool afs_check_permit_rcu(struct afs_vnode *vnode, struct key *key,
310 vnode->fid.vid, vnode->fid.vnode, key_serial(key));
313 if (key == vnode->volume->cell->anonymous_key) {
322 if (permits->permits[i].key < key)
324 if (permits->permits[i].key > key)
342 int afs_check_permit(struct afs_vnode *vnode, struct key *key,
350 vnode->fid.vid, vnode->fid.vnode, key_serial(key));
353 if (key == vnode->volume->cell->anonymous_key) {
362 if (permits->permits[i].key < key)
364 if (permits->permits[i].key > key)
381 ret = afs_fetch_status(vnode, key, false, _access);
403 struct key *key;
410 key = afs_request_key_rcu(vnode->volume->cell);
411 if (IS_ERR(key))
416 !afs_check_permit_rcu(vnode, key, &access))
419 key = afs_request_key(vnode->volume->cell);
420 if (IS_ERR(key)) {
421 _leave(" = %ld [key]", PTR_ERR(key));
422 return PTR_ERR(key);
425 ret = afs_validate(vnode, key);
430 ret = afs_check_permit(vnode, key, &access);
468 key_put(key);
475 key_put(key);