On 5/4/16 10:24 PM, David Miller wrote:
From: David Ahern <[email protected]> Date: Wed, 4 May 2016 21:18:07 -0700@@ -372,9 +372,13 @@ static int vrf_rt6_create(struct net_device *dev) if (!rt6) goto out; - rt6->dst.output = vrf_output6; - rt6->rt6i_table = fib6_get_table(net, vrf->tb_id); dst_hold(&rt6->dst); + + rt6->rt6i_table = fib6_new_table(net, vrf->tb_id); + if (!rt6->rt6i_table) + goto out; + + rt6->dst.output = vrf_output6; vrf->rt6 = rt6; rc = 0; out:This leaks rt6.
Indeed. That fact was lost by follow on patches which fix the ordering.
