arp: switch to dev_getbyhwaddr() in arp_req_set_public()
[ Upstream commit4eae0ee0f1] 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. Since we're not holding the RCU read lock in arp_req_set_public() existing code could trigger false positive locking warnings. Fixes:941666c2e3("net: RCU conversion of dev_getbyhwaddr() and arp_ioctl()") Suggested-by: Kuniyuki Iwashima <kuniyu@amazon.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: Breno Leitao <leitao@debian.org> Link: https://patch.msgid.link/20250218-arm_fix_selftest-v5-2-d3d6892db9e1@debian.org Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e860d51035
commit
ef30544788
+1
-1
@@ -1009,7 +1009,7 @@ static int arp_req_set_public(struct net *net, struct arpreq *r,
|
||||
if (mask && mask != htonl(0xFFFFFFFF))
|
||||
return -EINVAL;
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user