ipv6: fix double refcount of fib6_metrics
authorCong Wang <xiyou.wangcong@gmail.com>
Fri, 3 Aug 2018 06:20:38 +0000 (23:20 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Aug 2018 00:22:45 +0000 (17:22 -0700)
commite70a3aad44cc8b24986687ffc98c4a4f6ecf25ea
tree5789fc559dc1882181c7e70a74406247cc945f7d
parent1ffaddd029c867d134a1dde39f540dcc8c52e274
ipv6: fix double refcount of fib6_metrics

All the callers of ip6_rt_copy_init()/rt6_set_from() hold refcnt
of the "from" fib6_info, so there is no need to hold fib6_metrics
refcnt again, because fib6_metrics refcnt is only released when
fib6_info is gone, that is, they have the same life time, so the
whole fib6_metrics refcnt can be removed actually.

This fixes a kmemleak warning reported by Sabrina.

Fixes: 93531c674315 ("net/ipv6: separate handling of FIB entries from dst based routes")
Reported-by: Sabrina Dubroca <sd@queasysnail.net>
Cc: Sabrina Dubroca <sd@queasysnail.net>
Cc: David Ahern <dsahern@gmail.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/route.c