aboutsummaryrefslogtreecommitdiffstats
path: root/net/dns_resolver/dns_key.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/dns_resolver/dns_key.c')
-rw-r--r--net/dns_resolver/dns_key.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/net/dns_resolver/dns_key.c b/net/dns_resolver/dns_key.c
index d9507dd05818..b53bb4a41daa 100644
--- a/net/dns_resolver/dns_key.c
+++ b/net/dns_resolver/dns_key.c
@@ -59,13 +59,13 @@ const struct cred *dns_resolver_cache;
59 * "ip1,ip2,...#foo=bar" 59 * "ip1,ip2,...#foo=bar"
60 */ 60 */
61static int 61static int
62dns_resolver_instantiate(struct key *key, const void *_data, size_t datalen) 62dns_resolver_instantiate(struct key *key, struct key_preparsed_payload *prep)
63{ 63{
64 struct user_key_payload *upayload; 64 struct user_key_payload *upayload;
65 unsigned long derrno; 65 unsigned long derrno;
66 int ret; 66 int ret;
67 size_t result_len = 0; 67 size_t datalen = prep->datalen, result_len = 0;
68 const char *data = _data, *end, *opt; 68 const char *data = prep->data, *end, *opt;
69 69
70 kenter("%%%d,%s,'%*.*s',%zu", 70 kenter("%%%d,%s,'%*.*s',%zu",
71 key->serial, key->description, 71 key->serial, key->description,
@@ -259,19 +259,15 @@ static int __init init_dns_resolver(void)
259 if (!cred) 259 if (!cred)
260 return -ENOMEM; 260 return -ENOMEM;
261 261
262 keyring = key_alloc(&key_type_keyring, ".dns_resolver", 0, 0, cred, 262 keyring = keyring_alloc(".dns_resolver", 0, 0, cred,
263 (KEY_POS_ALL & ~KEY_POS_SETATTR) | 263 (KEY_POS_ALL & ~KEY_POS_SETATTR) |
264 KEY_USR_VIEW | KEY_USR_READ, 264 KEY_USR_VIEW | KEY_USR_READ,
265 KEY_ALLOC_NOT_IN_QUOTA); 265 KEY_ALLOC_NOT_IN_QUOTA, NULL);
266 if (IS_ERR(keyring)) { 266 if (IS_ERR(keyring)) {
267 ret = PTR_ERR(keyring); 267 ret = PTR_ERR(keyring);
268 goto failed_put_cred; 268 goto failed_put_cred;
269 } 269 }
270 270
271 ret = key_instantiate_and_link(keyring, NULL, 0, NULL, NULL);
272 if (ret < 0)
273 goto failed_put_key;
274
275 ret = register_key_type(&key_type_dns_resolver); 271 ret = register_key_type(&key_type_dns_resolver);
276 if (ret < 0) 272 if (ret < 0)
277 goto failed_put_key; 273 goto failed_put_key;
@@ -303,3 +299,4 @@ static void __exit exit_dns_resolver(void)
303module_init(init_dns_resolver) 299module_init(init_dns_resolver)
304module_exit(exit_dns_resolver) 300module_exit(exit_dns_resolver)
305MODULE_LICENSE("GPL"); 301MODULE_LICENSE("GPL");
302