diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2025-08-29 19:36:34 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2025-08-29 19:36:34 -0700 |
| commit | 864ecc4a6dade82d3f70eab43dad0e277aa6fc78 (patch) | |
| tree | 2c8e7f3348c118943fec8933dbd1462224555985 /include/net/ip.h | |
| parent | e71aa5a955a7059a705972e9bcdb074b6fd14696 (diff) | |
| parent | 6ad8de3cefdb6ffa6708b21c567df0dbf82c43a8 (diff) | |
Merge branch 'net-add-rcu-safety-to-dst-dev'
Eric Dumazet says:
====================
net: add rcu safety to dst->dev
Followup of commit 88fe14253e18 ("net: dst: add four helpers
to annotate data-races around dst->dev").
Use lockdep enabled helpers to convert our unsafe dst->dev
uses one at a time.
More to come...
====================
Link: https://patch.msgid.link/20250828195823.3958522-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/net/ip.h')
| -rw-r--r-- | include/net/ip.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/net/ip.h b/include/net/ip.h index befcba575129..6dbd2bf8fa9c 100644 --- a/include/net/ip.h +++ b/include/net/ip.h @@ -467,12 +467,14 @@ static inline unsigned int ip_dst_mtu_maybe_forward(const struct dst_entry *dst, bool forwarding) { const struct rtable *rt = dst_rtable(dst); + const struct net_device *dev; unsigned int mtu, res; struct net *net; rcu_read_lock(); - net = dev_net_rcu(dst_dev(dst)); + dev = dst_dev_rcu(dst); + net = dev_net_rcu(dev); if (READ_ONCE(net->ipv4.sysctl_ip_fwd_use_pmtu) || ip_mtu_locked(dst) || !forwarding) { @@ -486,7 +488,7 @@ static inline unsigned int ip_dst_mtu_maybe_forward(const struct dst_entry *dst, if (mtu) goto out; - mtu = READ_ONCE(dst_dev(dst)->mtu); + mtu = READ_ONCE(dev->mtu); if (unlikely(ip_mtu_locked(dst))) { if (rt->rt_uses_gateway && mtu > 576) |
