Subject: [PATCH] netns: Only route multicast trafic in init_net

From: [email-masked] (Eric W. Biederman)
Date: Fri, 11 Jul 2008 13:02:04 -0700

Currently the code to only support multicast traffic in the initial
namespace is incomplete, and receiving a multicast packet causes in a
network namespace causes us to take an initialized lock.  Resulting
in a nasty oops. Ouch!

So until we have network namespace support in igmp.c simply disable
multicast packet reception.

Signed-off-by: Eric W. Biederman <[email-masked]>
---
 net/ipv4/igmp.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
index 2769dc4..12201ac 100644
--- a/net/ipv4/igmp.c
+++ b/net/ipv4/igmp.c
@@ -2277,6 +2277,9 @@ int ip_check_mc(struct in_device *in_dev, __be32 mc_addr, __be32 src_addr, u16 p
 	struct ip_sf_list *psf;
 	int rv = 0;
 
+	if (dev_net(in_dev->dev) != &init_net)
+		return rv;
+
 	read_lock(&in_dev->mc_list_lock);
 	for (im=in_dev->mc_list; im; im=im->next) {
 		if (im->multiaddr == mc_addr)
-- 
1.5.3.rc6.17.g1911