From: David Ahern <d...@cumulusnetworks.com>
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.

Reply via email to