]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dns_resolver: avoid pointless cred reference count bump
authorChristian Brauner <brauner@kernel.org>
Mon, 25 Nov 2024 14:10:22 +0000 (15:10 +0100)
committerChristian Brauner <brauner@kernel.org>
Mon, 2 Dec 2024 10:25:14 +0000 (11:25 +0100)
The dns_resolver_cache creds hold a long-term reference that is stable
during the operation.

Link: https://lore.kernel.org/r/20241125-work-cred-v2-26-68b9d38bb5b2@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Christian Brauner <brauner@kernel.org>
net/dns_resolver/dns_query.c

index 0b0789fe2194151102d5234aca3fc2dae9a1ed69..82b084cc1cc6349bb532d5ada555b0bcbb1cdbea 100644 (file)
@@ -124,9 +124,9 @@ int dns_query(struct net *net,
        /* make the upcall, using special credentials to prevent the use of
         * add_key() to preinstall malicious redirections
         */
-       saved_cred = override_creds(get_new_cred(dns_resolver_cache));
+       saved_cred = override_creds(dns_resolver_cache);
        rkey = request_key_net(&key_type_dns_resolver, desc, net, options);
-       put_cred(revert_creds(saved_cred));
+       revert_creds(saved_cred);
        kfree(desc);
        if (IS_ERR(rkey)) {
                ret = PTR_ERR(rkey);