diff options
Diffstat (limited to 'net/core/rtnetlink.c')
-rw-r--r-- | net/core/rtnetlink.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index bc290413a49d..257e7bbaffba 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c | |||
@@ -454,11 +454,11 @@ static void rtnl_lock_unregistering_all(void) | |||
454 | void rtnl_link_unregister(struct rtnl_link_ops *ops) | 454 | void rtnl_link_unregister(struct rtnl_link_ops *ops) |
455 | { | 455 | { |
456 | /* Close the race with cleanup_net() */ | 456 | /* Close the race with cleanup_net() */ |
457 | mutex_lock(&net_mutex); | 457 | down_write(&net_sem); |
458 | rtnl_lock_unregistering_all(); | 458 | rtnl_lock_unregistering_all(); |
459 | __rtnl_link_unregister(ops); | 459 | __rtnl_link_unregister(ops); |
460 | rtnl_unlock(); | 460 | rtnl_unlock(); |
461 | mutex_unlock(&net_mutex); | 461 | up_write(&net_sem); |
462 | } | 462 | } |
463 | EXPORT_SYMBOL_GPL(rtnl_link_unregister); | 463 | EXPORT_SYMBOL_GPL(rtnl_link_unregister); |
464 | 464 | ||