]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: core: neighbour: Process ARP queue later
authorPetr Machata <petrm@nvidia.com>
Wed, 21 Jan 2026 16:43:38 +0000 (17:43 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sun, 25 Jan 2026 22:57:37 +0000 (14:57 -0800)
commit89246ef82d799e68d5e34873e95d4c1ca2486cc5
treefcd4410d56377c9271037676d368e5385c2e5b25
parent705ef89ac98648167f486b51bb8d9e2fefbe4fb4
net: core: neighbour: Process ARP queue later

ARP queue processing unlocks the neighbor lock, which can allow another
thread to asynchronously perform a neighbor update and send an out of order
notification. Therefore this needs to be done after the notification is
sent.

Move it just before the end of the critical section. Since
neigh_update_process_arp_queue() unlocks, it does not form a part of the
critical section anymore but it can benefit from the lock being taken. The
intention is to eventually do the RTNL notification before this call.

This motion crosses a call to neigh_update_is_router(), which should not
influence processing of the ARP queue.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/9ea7159e71430ebdc837ebcc880a76b7e82e52a4.1769012464.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/neighbour.c