]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tcp_metrics: use dst_dev_net_rcu()
authorEric Dumazet <edumazet@google.com>
Mon, 15 Dec 2025 21:51:19 +0000 (21:51 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Dec 2025 12:55:22 +0000 (13:55 +0100)
[ Upstream commit 50c127a69cd6285300931853b352a1918cfa180f ]

Replace three dst_dev() with a lockdep enabled helper.

Fixes: 4a6ce2b6f2ec ("net: introduce a new function dst_dev_put()")
Cc: stable@vger.kernel.org
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://patch.msgid.link/20250828195823.3958522-7-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Gyokhan Kochmarla <gyokhan@amazon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv4/tcp_metrics.c

index 03c068ea27b6ad3283b8365f31706c11ecdd07f2..10e86f1008e9d9c340eee0ecdefd7f21bd84bd5b 100644 (file)
@@ -170,7 +170,7 @@ static struct tcp_metrics_block *tcpm_new(struct dst_entry *dst,
        struct net *net;
 
        spin_lock_bh(&tcp_metrics_lock);
-       net = dev_net_rcu(dst_dev(dst));
+       net = dst_dev_net_rcu(dst);
 
        /* While waiting for the spin-lock the cache might have been populated
         * with this entry and so we have to check again.
@@ -273,7 +273,7 @@ static struct tcp_metrics_block *__tcp_get_metrics_req(struct request_sock *req,
                return NULL;
        }
 
-       net = dev_net_rcu(dst_dev(dst));
+       net = dst_dev_net_rcu(dst);
        hash ^= net_hash_mix(net);
        hash = hash_32(hash, tcp_metrics_hash_log);
 
@@ -318,7 +318,7 @@ static struct tcp_metrics_block *tcp_get_metrics(struct sock *sk,
        else
                return NULL;
 
-       net = dev_net_rcu(dst_dev(dst));
+       net = dst_dev_net_rcu(dst);
        hash ^= net_hash_mix(net);
        hash = hash_32(hash, tcp_metrics_hash_log);