]> err.no Git - linux-2.6/blobdiff - net/ipv6/route.c
[NETFILTER]: ipt_ECN/ipt_TOS: fix incorrect checksum update
[linux-2.6] / net / ipv6 / route.c
index ba1b3d11865e43c2553d352179625e9e4b4fad37..d6b4b4f48d18cb6d9736c520b854d0899c98bc23 100644 (file)
@@ -510,8 +510,8 @@ restart:
        rt = fn->leaf;
        rt = rt6_device_match(rt, fl->oif, flags);
        BACKTRACK(&fl->fl6_src);
-       dst_hold(&rt->u.dst);
 out:
+       dst_hold(&rt->u.dst);
        read_unlock_bh(&table->tb6_lock);
 
        rt->u.dst.lastuse = jiffies;
@@ -1865,7 +1865,7 @@ void rt6_mtu_change(struct net_device *dev, unsigned mtu)
 }
 
 static struct nla_policy rtm_ipv6_policy[RTA_MAX+1] __read_mostly = {
-       [RTA_GATEWAY]           = { .minlen = sizeof(struct in6_addr) },
+       [RTA_GATEWAY]           = { .len = sizeof(struct in6_addr) },
        [RTA_OIF]               = { .type = NLA_U32 },
        [RTA_IIF]               = { .type = NLA_U32 },
        [RTA_PRIORITY]          = { .type = NLA_U32 },