• Home
  • Raw
  • Download

Lines Matching +full:user +full:- +full:defined

1 /* user_defined.c: user defined key type
17 #include <keys/user-type.h>
24 * user defined keys take an arbitrary string as the description and an
28 .name = "user",
61 * Preparse a user defined key payload
66 size_t datalen = prep->datalen; in user_preparse()
68 if (datalen <= 0 || datalen > 32767 || !prep->data) in user_preparse()
69 return -EINVAL; in user_preparse()
73 return -ENOMEM; in user_preparse()
76 prep->quotalen = datalen; in user_preparse()
77 prep->payload.data[0] = upayload; in user_preparse()
78 upayload->datalen = datalen; in user_preparse()
79 memcpy(upayload->data, prep->data, datalen); in user_preparse()
85 * Free a preparse of a user defined key payload
89 kzfree(prep->payload.data[0]); in user_free_preparse()
102 * update a user defined key
103 * - the key's semaphore is write-locked
111 ret = key_payload_reserve(key, prep->datalen); in user_update()
116 key->expiry = prep->expiry; in user_update()
119 rcu_assign_keypointer(key, prep->payload.data[0]); in user_update()
120 prep->payload.data[0] = NULL; in user_update()
123 call_rcu(&zap->rcu, user_free_payload_rcu); in user_update()
130 * - called with the key sem write-locked
141 call_rcu(&upayload->rcu, user_free_payload_rcu); in user_revoke()
148 * dispose of the data dangling from the corpse of a user key
152 struct user_key_payload *upayload = key->payload.data[0]; in user_destroy()
160 * describe the user key
164 seq_puts(m, key->description); in user_describe()
166 seq_printf(m, ": %u", key->datalen); in user_describe()
173 * - the key's semaphore is read-locked
181 ret = upayload->datalen; in user_read()
185 if (buflen > upayload->datalen) in user_read()
186 buflen = upayload->datalen; in user_read()
188 memcpy(buffer, upayload->data, buflen); in user_read()
204 return -EINVAL; in logon_vet_description()
208 return -EINVAL; in logon_vet_description()