keys: Pass the network namespace into request_key mechanism
[linux-2.6-block.git] / net / dns_resolver / dns_query.c
index 2d260432b3be0a7ddefbd6cb68c2bb2b18163525..cab4e0df924f5c5f3ae9d67b22903ae8411b53ba 100644 (file)
@@ -40,6 +40,7 @@
 #include <linux/cred.h>
 #include <linux/dns_resolver.h>
 #include <linux/err.h>
+#include <net/net_namespace.h>
 
 #include <keys/dns_resolver-type.h>
 #include <keys/user-type.h>
@@ -48,6 +49,7 @@
 
 /**
  * dns_query - Query the DNS
+ * @net: The network namespace to operate in.
  * @type: Query type (or NULL for straight host->IP lookup)
  * @name: Name to look up
  * @namelen: Length of name
@@ -69,7 +71,8 @@
  *
  * Returns the size of the result on success, -ve error code otherwise.
  */
-int dns_query(const char *type, const char *name, size_t namelen,
+int dns_query(struct net *net,
+             const char *type, const char *name, size_t namelen,
              const char *options, char **_result, time64_t *_expiry,
              bool invalidate)
 {
@@ -122,7 +125,7 @@ int dns_query(const char *type, const char *name, size_t namelen,
         * add_key() to preinstall malicious redirections
         */
        saved_cred = override_creds(dns_resolver_cache);
-       rkey = request_key(&key_type_dns_resolver, desc, options);
+       rkey = request_key_net(&key_type_dns_resolver, desc, net, options);
        revert_creds(saved_cred);
        kfree(desc);
        if (IS_ERR(rkey)) {