tcp: make urg+gso work for real this time
[safe/jmp/linux-2.6] / net / ipv4 / xfrm4_policy.c
index f04516c..c63de0a 100644 (file)
@@ -36,7 +36,7 @@ static struct dst_entry *xfrm4_dst_lookup(int tos, xfrm_address_t *saddr,
        if (saddr)
                fl.fl4_src = saddr->a4;
 
-       err = __ip_route_output_key(&rt, &fl);
+       err = __ip_route_output_key(&init_net, &rt, &fl);
        dst = &rt->u.dst;
        if (err)
                dst = ERR_PTR(err);
@@ -221,7 +221,7 @@ static void xfrm4_dst_ifdown(struct dst_entry *dst, struct net_device *dev,
        xdst = (struct xfrm_dst *)dst;
        if (xdst->u.rt.idev->dev == dev) {
                struct in_device *loopback_idev =
-                       in_dev_get(dev->nd_net->loopback_dev);
+                       in_dev_get(dev_net(dev)->loopback_dev);
                BUG_ON(!loopback_idev);
 
                do {
@@ -247,6 +247,7 @@ static struct dst_ops xfrm4_dst_ops = {
        .local_out =            __ip_local_out,
        .gc_thresh =            1024,
        .entry_size =           sizeof(struct xfrm_dst),
+       .entries =              ATOMIC_INIT(0),
 };
 
 static struct xfrm_policy_afinfo xfrm4_policy_afinfo = {