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

1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* user_defined.c: user defined key type
13 #include <keys/user-type.h>
20 * user defined keys take an arbitrary string as the description and an
24 .name = "user",
57 * Preparse a user defined key payload
62 size_t datalen = prep->datalen; in user_preparse()
64 if (datalen <= 0 || datalen > 32767 || !prep->data) in user_preparse()
65 return -EINVAL; in user_preparse()
69 return -ENOMEM; in user_preparse()
72 prep->quotalen = datalen; in user_preparse()
73 prep->payload.data[0] = upayload; in user_preparse()
74 upayload->datalen = datalen; in user_preparse()
75 memcpy(upayload->data, prep->data, datalen); in user_preparse()
81 * Free a preparse of a user defined key payload
85 kfree_sensitive(prep->payload.data[0]); in user_free_preparse()
98 * update a user defined key
99 * - the key's semaphore is write-locked
107 ret = key_payload_reserve(key, prep->datalen); in user_update()
112 key->expiry = prep->expiry; in user_update()
115 rcu_assign_keypointer(key, prep->payload.data[0]); in user_update()
116 prep->payload.data[0] = NULL; in user_update()
119 call_rcu(&zap->rcu, user_free_payload_rcu); in user_update()
126 * - called with the key sem write-locked
137 call_rcu(&upayload->rcu, user_free_payload_rcu); in user_revoke()
144 * dispose of the data dangling from the corpse of a user key
148 struct user_key_payload *upayload = key->payload.data[0]; in user_destroy()
156 * describe the user key
160 seq_puts(m, key->description); in user_describe()
162 seq_printf(m, ": %u", key->datalen); in user_describe()
169 * - the key's semaphore is read-locked
177 ret = upayload->datalen; in user_read()
181 if (buflen > upayload->datalen) in user_read()
182 buflen = upayload->datalen; in user_read()
184 memcpy(buffer, upayload->data, buflen); in user_read()
200 return -EINVAL; in logon_vet_description()
204 return -EINVAL; in logon_vet_description()