diff -urN x/net/ipv4/ip_output.c y/net/ipv4/ip_output.c --- x/net/ipv4/ip_output.c 2005-03-10 20:08:47.000000000 +1100 +++ y/net/ipv4/ip_output.c 2005-03-10 20:11:49.000000000 +1100 @@ -405,6 +405,7 @@ to->priority = from->priority; to->protocol = from->protocol; to->security = from->security; + dst_release(to->dst); to->dst = dst_clone(from->dst); to->dev = from->dev; diff -urN x/net/ipv6/ip6_output.c y/net/ipv6/ip6_output.c --- x/net/ipv6/ip6_output.c 2005-03-10 20:08:47.000000000 +1100 +++ y/net/ipv6/ip6_output.c 2005-03-10 20:11:48.000000000 +1100 @@ -465,6 +465,7 @@ to->priority = from->priority; to->protocol = from->protocol; to->security = from->security; + dst_release(to->dst); to->dst = dst_clone(from->dst); to->dev = from->dev;