diff options
Diffstat (limited to 'net/dns_resolver/dns_key.c')
-rw-r--r-- | net/dns_resolver/dns_key.c | 19 |
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 | */ |
61 | static int | 61 | static int |
62 | dns_resolver_instantiate(struct key *key, const void *_data, size_t datalen) | 62 | dns_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) | |||
303 | module_init(init_dns_resolver) | 299 | module_init(init_dns_resolver) |
304 | module_exit(exit_dns_resolver) | 300 | module_exit(exit_dns_resolver) |
305 | MODULE_LICENSE("GPL"); | 301 | MODULE_LICENSE("GPL"); |
302 | |||