aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dst.c4
-rw-r--r--net/core/fib_rules.c4
-rw-r--r--net/core/pktgen.c3
-rw-r--r--net/core/rtnetlink.c4
4 files changed, 15 insertions, 0 deletions
diff --git a/net/core/dst.c b/net/core/dst.c
index c6a05879d58..32267a16e01 100644
--- a/net/core/dst.c
+++ b/net/core/dst.c
@@ -15,6 +15,7 @@
15#include <linux/skbuff.h> 15#include <linux/skbuff.h>
16#include <linux/string.h> 16#include <linux/string.h>
17#include <linux/types.h> 17#include <linux/types.h>
18#include <net/net_namespace.h>
18 19
19#include <net/dst.h> 20#include <net/dst.h>
20 21
@@ -252,6 +253,9 @@ static int dst_dev_event(struct notifier_block *this, unsigned long event, void
252 struct net_device *dev = ptr; 253 struct net_device *dev = ptr;
253 struct dst_entry *dst; 254 struct dst_entry *dst;
254 255
256 if (dev->nd_net != &init_net)
257 return NOTIFY_DONE;
258
255 switch (event) { 259 switch (event) {
256 case NETDEV_UNREGISTER: 260 case NETDEV_UNREGISTER:
257 case NETDEV_DOWN: 261 case NETDEV_DOWN:
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
index 8c5474e1668..9eabe1ae01d 100644
--- a/net/core/fib_rules.c
+++ b/net/core/fib_rules.c
@@ -11,6 +11,7 @@
11#include <linux/types.h> 11#include <linux/types.h>
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/list.h> 13#include <linux/list.h>
14#include <net/net_namespace.h>
14#include <net/fib_rules.h> 15#include <net/fib_rules.h>
15 16
16static LIST_HEAD(rules_ops); 17static LIST_HEAD(rules_ops);
@@ -596,6 +597,9 @@ static int fib_rules_event(struct notifier_block *this, unsigned long event,
596 struct net_device *dev = ptr; 597 struct net_device *dev = ptr;
597 struct fib_rules_ops *ops; 598 struct fib_rules_ops *ops;
598 599
600 if (dev->nd_net != &init_net)
601 return NOTIFY_DONE;
602
599 ASSERT_RTNL(); 603 ASSERT_RTNL();
600 rcu_read_lock(); 604 rcu_read_lock();
601 605
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 33d7247fb19..d7c30ce095a 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -1975,6 +1975,9 @@ static int pktgen_device_event(struct notifier_block *unused,
1975{ 1975{
1976 struct net_device *dev = ptr; 1976 struct net_device *dev = ptr;
1977 1977
1978 if (dev->nd_net != &init_net)
1979 return NOTIFY_DONE;
1980
1978 /* It is OK that we do not hold the group lock right now, 1981 /* It is OK that we do not hold the group lock right now,
1979 * as we run under the RTNL lock. 1982 * as we run under the RTNL lock.
1980 */ 1983 */
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index dca9e80ba57..41859508bed 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -1286,6 +1286,10 @@ static void rtnetlink_rcv(struct sock *sk, int len)
1286static int rtnetlink_event(struct notifier_block *this, unsigned long event, void *ptr) 1286static int rtnetlink_event(struct notifier_block *this, unsigned long event, void *ptr)
1287{ 1287{
1288 struct net_device *dev = ptr; 1288 struct net_device *dev = ptr;
1289
1290 if (dev->nd_net != &init_net)
1291 return NOTIFY_DONE;
1292
1289 switch (event) { 1293 switch (event) {
1290 case NETDEV_UNREGISTER: 1294 case NETDEV_UNREGISTER:
1291 rtmsg_ifinfo(RTM_DELLINK, dev, ~0U); 1295 rtmsg_ifinfo(RTM_DELLINK, dev, ~0U);