ASSERT_RTNL();
 
+       if (in_dev->dev->nd_net != &init_net)
+               return;
+
        for (im=in_dev->mc_list; im; im=im->next) {
                if (im->multiaddr == addr) {
                        im->users++;
 
        ASSERT_RTNL();
 
+       if (in_dev->dev->nd_net != &init_net)
+               return;
+
        for (ip=&in_dev->mc_list; (i=*ip)!=NULL; ip=&i->next) {
                if (i->multiaddr==addr) {
                        if (--i->users == 0) {
 
        ASSERT_RTNL();
 
+       if (in_dev->dev->nd_net != &init_net)
+               return;
+
        for (i=in_dev->mc_list; i; i=i->next)
                igmp_group_dropped(i);
 
 {
        ASSERT_RTNL();
 
+       if (in_dev->dev->nd_net != &init_net)
+               return;
+
        in_dev->mc_tomb = NULL;
 #ifdef CONFIG_IP_MULTICAST
        in_dev->mr_gq_running = 0;
 
        ASSERT_RTNL();
 
+       if (in_dev->dev->nd_net != &init_net)
+               return;
+
        ip_mc_inc_group(in_dev, IGMP_ALL_HOSTS);
 
        for (i=in_dev->mc_list; i; i=i->next)
 
        ASSERT_RTNL();
 
+       if (in_dev->dev->nd_net != &init_net)
+               return;
+
        /* Deactivate timers */
        ip_mc_down(in_dev);
 
        if (!ipv4_is_multicast(addr))
                return -EINVAL;
 
+       if (sk->sk_net != &init_net)
+               return -EPROTONOSUPPORT;
+
        rtnl_lock();
 
        in_dev = ip_mc_find_dev(imr);
        u32 ifindex;
        int ret = -EADDRNOTAVAIL;
 
+       if (sk->sk_net != &init_net)
+               return -EPROTONOSUPPORT;
+
        rtnl_lock();
        in_dev = ip_mc_find_dev(imr);
        ifindex = imr->imr_ifindex;
        if (!ipv4_is_multicast(addr))
                return -EINVAL;
 
+       if (sk->sk_net != &init_net)
+               return -EPROTONOSUPPORT;
+
        rtnl_lock();
 
        imr.imr_multiaddr.s_addr = mreqs->imr_multiaddr;
            msf->imsf_fmode != MCAST_EXCLUDE)
                return -EINVAL;
 
+       if (sk->sk_net != &init_net)
+               return -EPROTONOSUPPORT;
+
        rtnl_lock();
 
        imr.imr_multiaddr.s_addr = msf->imsf_multiaddr;
        if (!ipv4_is_multicast(addr))
                return -EINVAL;
 
+       if (sk->sk_net != &init_net)
+               return -EPROTONOSUPPORT;
+
        rtnl_lock();
 
        imr.imr_multiaddr.s_addr = msf->imsf_multiaddr;
        if (!ipv4_is_multicast(addr))
                return -EINVAL;
 
+       if (sk->sk_net != &init_net)
+               return -EPROTONOSUPPORT;
+
        rtnl_lock();
 
        err = -EADDRNOTAVAIL;
        if (inet->mc_list == NULL)
                return;
 
+       if (sk->sk_net != &init_net)
+               return;
+
        rtnl_lock();
        while ((iml = inet->mc_list) != NULL) {
                struct in_device *in_dev;