bareudp: Remove synchronize_net() in bareudp_sock_release().

synchronize_net() in bareudp_sock_release() has existed since
day 1, commit 571912c69f ("net: UDP tunnel encapsulation module
for tunnelling different protocols like MPLS, IP, NSH etc.").

It was most likely copied from a similar tunneling device like
vxlan or geneve.

bareudp_sock_release() is called from dev->netdev_ops->ndo_stop(),
and synchronize_net() in unregister_netdevice_many_notify() ensures
that inflight bareudp fast paths finish before bareudp_dev is freed.

Let's remove the redundant synchronize_net() in bareudp_sock_release().

Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20260518050726.318824-5-kuniyu@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Kuniyuki Iwashima 2026-05-18 05:07:11 +00:00 committed by Jakub Kicinski
parent 567dbca22b
commit d38be92172

View File

@ -287,7 +287,6 @@ static void bareudp_sock_release(struct bareudp_dev *bareudp)
sk = bareudp->sk;
rcu_assign_pointer(bareudp->sk, NULL);
synchronize_net();
udp_tunnel_sock_release(sk);
}