aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/core.c
diff options
context:
space:
mode:
authorDenis V. Lunev <den@openvz.org>2008-03-24 15:32:09 -0700
committerDavid S. Miller <davem@davemloft.net>2008-03-24 15:32:09 -0700
commit0be43f82c4f4c4a999b53cf794513f7f1a4ed7f3 (patch)
tree6ca7893fd93f4cfe960c022452309127f88485ed /net/netfilter/core.c
parent05cf89d40c85e622dac20e44713168767be5c520 (diff)
downloadlinux-0be43f82c4f4c4a999b53cf794513f7f1a4ed7f3.tar.gz
[NETNS]: Process netfilter hooks in initial namespace only.
There were no packets in the namespace other than initial previously. This will be changed in the neareast future. Netfilters are not namespace aware and should be processed in the initial namespace only for now. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netfilter/core.c')
-rw-r--r--net/netfilter/core.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/netfilter/core.c b/net/netfilter/core.c
index c4065b8f9a95f6..ec05684c56d709 100644
--- a/net/netfilter/core.c
+++ b/net/netfilter/core.c
@@ -165,6 +165,14 @@ int nf_hook_slow(int pf, unsigned int hook, struct sk_buff *skb,
unsigned int verdict;
int ret = 0;
+#ifdef CONFIG_NET_NS
+ struct net *net;
+
+ net = indev == NULL ? outdev->nd_net : indev->nd_net;
+ if (net != &init_net)
+ return 1;
+#endif
+
/* We may already have this, but read-locks nest anyway */
rcu_read_lock();