1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00

net: Hold rtnl_net_lock() in (un)?register_netdevice_notifier_net().

(un)?register_netdevice_notifier_net() hold RTNL before triggering the
notifier for all netdev in the netns.

Let's convert the RTNL to rtnl_net_lock().

Note that the per-netns netdev notifier is protected by per-netns RTNL.

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20250106070751.63146-3-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Kuniyuki Iwashima 2025-01-06 16:07:50 +09:00 committed by Jakub Kicinski
parent a239e06250
commit ca779f4065

View file

@ -1897,9 +1897,10 @@ int register_netdevice_notifier_net(struct net *net, struct notifier_block *nb)
{
int err;
rtnl_lock();
rtnl_net_lock(net);
err = __register_netdevice_notifier_net(net, nb, false);
rtnl_unlock();
rtnl_net_unlock(net);
return err;
}
EXPORT_SYMBOL(register_netdevice_notifier_net);
@ -1925,9 +1926,10 @@ int unregister_netdevice_notifier_net(struct net *net,
{
int err;
rtnl_lock();
rtnl_net_lock(net);
err = __unregister_netdevice_notifier_net(net, nb);
rtnl_unlock();
rtnl_net_unlock(net);
return err;
}
EXPORT_SYMBOL(unregister_netdevice_notifier_net);