|
@@ -732,7 +732,7 @@ int rt6_route_rcv(struct net_device *dev, u8 *opt, int len,
|
|
|
else
|
|
|
rt6_set_expires(rt, jiffies + HZ * lifetime);
|
|
|
|
|
|
- dst_release(&rt->dst);
|
|
|
+ ip6_rt_put(rt);
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
@@ -948,7 +948,7 @@ restart:
|
|
|
else
|
|
|
goto out2;
|
|
|
|
|
|
- dst_release(&rt->dst);
|
|
|
+ ip6_rt_put(rt);
|
|
|
rt = nrt ? : net->ipv6.ip6_null_entry;
|
|
|
|
|
|
dst_hold(&rt->dst);
|
|
@@ -965,7 +965,7 @@ restart:
|
|
|
* Race condition! In the gap, when table->tb6_lock was
|
|
|
* released someone could insert this route. Relookup.
|
|
|
*/
|
|
|
- dst_release(&rt->dst);
|
|
|
+ ip6_rt_put(rt);
|
|
|
goto relookup;
|
|
|
|
|
|
out:
|
|
@@ -1576,7 +1576,7 @@ int ip6_route_add(struct fib6_config *cfg)
|
|
|
goto out;
|
|
|
if (dev) {
|
|
|
if (dev != grt->dst.dev) {
|
|
|
- dst_release(&grt->dst);
|
|
|
+ ip6_rt_put(grt);
|
|
|
goto out;
|
|
|
}
|
|
|
} else {
|
|
@@ -1587,7 +1587,7 @@ int ip6_route_add(struct fib6_config *cfg)
|
|
|
}
|
|
|
if (!(grt->rt6i_flags & RTF_GATEWAY))
|
|
|
err = 0;
|
|
|
- dst_release(&grt->dst);
|
|
|
+ ip6_rt_put(grt);
|
|
|
|
|
|
if (err)
|
|
|
goto out;
|
|
@@ -1673,7 +1673,7 @@ static int __ip6_del_rt(struct rt6_info *rt, struct nl_info *info)
|
|
|
write_unlock_bh(&table->tb6_lock);
|
|
|
|
|
|
out:
|
|
|
- dst_release(&rt->dst);
|
|
|
+ ip6_rt_put(rt);
|
|
|
return err;
|
|
|
}
|
|
|
|
|
@@ -2732,7 +2732,7 @@ static int inet6_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr* nlh, void
|
|
|
|
|
|
skb = alloc_skb(NLMSG_GOODSIZE, GFP_KERNEL);
|
|
|
if (!skb) {
|
|
|
- dst_release(&rt->dst);
|
|
|
+ ip6_rt_put(rt);
|
|
|
err = -ENOBUFS;
|
|
|
goto errout;
|
|
|
}
|