summaryrefslogtreecommitdiff
path: root/net/ipv6/ip6_fib.c
diff options
context:
space:
mode:
authorDavid Ahern <dsahern@gmail.com>2018-08-20 13:02:41 -0700
committerDavid S. Miller <davem@davemloft.net>2018-08-20 18:18:40 -0700
commit80f1a0f4e0cd4bfc8a74fc1c39843a6e7b206b95 (patch)
tree75808e39e15bf3575efc77274b3b50ad48ca5e87 /net/ipv6/ip6_fib.c
parent176eb614b118c96e7797f5ddefd10708c316f621 (diff)
downloadlwn-80f1a0f4e0cd4bfc8a74fc1c39843a6e7b206b95.tar.gz
lwn-80f1a0f4e0cd4bfc8a74fc1c39843a6e7b206b95.zip
net/ipv6: Put lwtstate when destroying fib6_info
Prior to the introduction of fib6_info lwtstate was managed by the dst code. With fib6_info releasing lwtstate needs to be done when the struct is freed. Fixes: 93531c674315 ("net/ipv6: separate handling of FIB entries from dst based routes") Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ip6_fib.c')
-rw-r--r--net/ipv6/ip6_fib.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
index d212738e9d10..c861a6d4671d 100644
--- a/net/ipv6/ip6_fib.c
+++ b/net/ipv6/ip6_fib.c
@@ -198,6 +198,8 @@ void fib6_info_destroy_rcu(struct rcu_head *head)
}
}
+ lwtstate_put(f6i->fib6_nh.nh_lwtstate);
+
if (f6i->fib6_nh.nh_dev)
dev_put(f6i->fib6_nh.nh_dev);