if (err < 0)
                goto errout;
 
-       tb = fib_new_table(&init_net, cfg.fc_table);
+       tb = fib_new_table(net, cfg.fc_table);
        if (tb == NULL) {
                err = -ENOBUFS;
                goto errout;
                fib_magic(RTM_DELROUTE, RTN_LOCAL, ifa->ifa_local, 32, prim);
 
                /* Check, that this local address finally disappeared. */
-               if (inet_addr_type(&init_net, ifa->ifa_local) != RTN_LOCAL) {
+               if (inet_addr_type(dev->nd_net, ifa->ifa_local) != RTN_LOCAL) {
                        /* And the last, but not the least thing.
                           We must flush stray FIB entries.
 
                           for stray nexthop entries, then ignite fib_flush.
                        */
                        if (fib_sync_down(ifa->ifa_local, NULL, 0))
-                               fib_flush(&init_net);
+                               fib_flush(dev->nd_net);
                }
        }
 #undef LOCAL_OK
 static void fib_disable_ip(struct net_device *dev, int force)
 {
        if (fib_sync_down(0, dev, force))
-               fib_flush(&init_net);
+               fib_flush(dev->nd_net);
        rt_cache_flush(0);
        arp_ifdown(dev);
 }