Message ID | 20250212-arm_fix_selftest-v3-3-72596cb77e44@debian.org (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: core: improvements to device lookup by hardware address. | expand |
From: Breno Leitao <leitao@debian.org> Date: Wed, 12 Feb 2025 09:47:26 -0800 > The arp_req_set_public() function is called with the RTNL lock held, > which provides enough synchronization protection. This makes the RCU > variant of dev_getbyhwaddr() unnecessary. Switch to using the simpler > dev_getbyhwaddr() function since we already have the required rtnl > locking. > > This change helps maintain consistency in the networking code by using > the appropriate helper function for the existing locking context. > > Suggested-by: Kuniyuki Iwashima <kuniyu@amazon.com> > Signed-off-by: Breno Leitao <leitao@debian.org> Fixes: 941666c2e3e0 ("net: RCU conversion of dev_getbyhwaddr() and arp_ioctl()") Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com> I still think patch 2 & 3 should be posted to net separately. Documentation/process/maintainer-netdev.rst ---8<--- the ``net`` tree is for fixes to existing code already in the mainline tree from Linus ---8<---
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index cb9a7ed8abd3ab17403f226ea7e31ea2bae52a9f..1867de1cd156fa91bb3ed4a2c12cafd69d11468a 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c @@ -1075,7 +1075,7 @@ static int arp_req_set_public(struct net *net, struct arpreq *r, __be32 mask = ((struct sockaddr_in *)&r->arp_netmask)->sin_addr.s_addr; if (!dev && (r->arp_flags & ATF_COM)) { - dev = dev_getbyhwaddr_rcu(net, r->arp_ha.sa_family, + dev = dev_getbyhwaddr(net, r->arp_ha.sa_family, r->arp_ha.sa_data); if (!dev) return -ENODEV;
The arp_req_set_public() function is called with the RTNL lock held, which provides enough synchronization protection. This makes the RCU variant of dev_getbyhwaddr() unnecessary. Switch to using the simpler dev_getbyhwaddr() function since we already have the required rtnl locking. This change helps maintain consistency in the networking code by using the appropriate helper function for the existing locking context. Suggested-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: Breno Leitao <leitao@debian.org> --- net/ipv4/arp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)