diff options
| author | Stanislav Fomichev <sdf.kernel@gmail.com> | 2026-07-02 15:41:45 -0700 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2026-07-07 15:31:36 +0200 |
| commit | 5326fefb9fe8e7014f5d7246fa10ff0db7a968a3 (patch) | |
| tree | ac6a882ab98766a982d30c73f4fee2b05716f9c1 | |
| parent | 997bfb05c919d2c5ee77c594d354f6c61b99ccdf (diff) | |
net: hold instance lock around NETDEV_DOWN/GOING_DOWN
Mirror what call_netdevice_register_net_notifiers does but for the
teardown. Cover only DOWN and GOING_DOWN. UNREGISTER is still unlocked
because of the SW devices using dev_xxx methods.
Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20260702224150.3730033-2-sdf@fomichev.me
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
| -rw-r--r-- | net/core/dev.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 4b3d5cfdf6e0..9d49493f4fb5 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1912,9 +1912,11 @@ static void call_netdevice_unregister_notifiers(struct notifier_block *nb, struct net_device *dev) { if (dev->flags & IFF_UP) { + netdev_lock_ops(dev); call_netdevice_notifier(nb, NETDEV_GOING_DOWN, dev); call_netdevice_notifier(nb, NETDEV_DOWN, dev); + netdev_unlock_ops(dev); } call_netdevice_notifier(nb, NETDEV_UNREGISTER, dev); } |
