diff options
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 9475f3e624a8..811507c39805 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -4904,6 +4904,18 @@ static int __init net_dev_init(void) | |||
4904 | if (register_pernet_subsys(&netdev_net_ops)) | 4904 | if (register_pernet_subsys(&netdev_net_ops)) |
4905 | goto out; | 4905 | goto out; |
4906 | 4906 | ||
4907 | /* The loopback device is special if any other network devices | ||
4908 | * is present in a network namespace the loopback device must | ||
4909 | * be present. Since we now dynamically allocate and free the | ||
4910 | * loopback device ensure this invariant is maintained by | ||
4911 | * keeping the loopback device as the first device on the | ||
4912 | * list of network devices. Ensuring the loopback devices | ||
4913 | * is the first device that appears and the last network device | ||
4914 | * that disappears. | ||
4915 | */ | ||
4916 | if (register_pernet_device(&loopback_net_ops)) | ||
4917 | goto out; | ||
4918 | |||
4907 | if (register_pernet_device(&default_device_ops)) | 4919 | if (register_pernet_device(&default_device_ops)) |
4908 | goto out; | 4920 | goto out; |
4909 | 4921 | ||