if (mask && mask != htonl(0xFFFFFFFF))
                return -EINVAL;
        if (!dev && (r->arp_flags & ATF_COM)) {
-               dev = dev_getbyhwaddr(&init_net, r->arp_ha.sa_family,
+               dev = dev_getbyhwaddr(net, r->arp_ha.sa_family,
                                r->arp_ha.sa_data);
                if (!dev)
                        return -ENODEV;
        }
        if (mask) {
-               if (pneigh_lookup(&arp_tbl, &init_net, &ip, dev, 1) == NULL)
+               if (pneigh_lookup(&arp_tbl, net, &ip, dev, 1) == NULL)
                        return -ENOBUFS;
                return 0;
        }
        __be32 mask = ((struct sockaddr_in *)&r->arp_netmask)->sin_addr.s_addr;
 
        if (mask == htonl(0xFFFFFFFF))
-               return pneigh_delete(&arp_tbl, &init_net, &ip, dev);
+               return pneigh_delete(&arp_tbl, net, &ip, dev);
 
        if (mask)
                return -EINVAL;
        rtnl_lock();
        if (r.arp_dev[0]) {
                err = -ENODEV;
-               if ((dev = __dev_get_by_name(&init_net, r.arp_dev)) == NULL)
+               if ((dev = __dev_get_by_name(net, r.arp_dev)) == NULL)
                        goto out;
 
                /* Mmmm... It is wrong... ARPHRD_NETROM==0 */