Message ID | 20190801213635.9278-1-dsahern@kernel.org |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] ipv6: Fix unbalanced rcu locking in rt6_update_exception_stamp_rt | expand |
From: David Ahern <dsahern@kernel.org> Date: Thu, 1 Aug 2019 14:36:35 -0700 > From: David Ahern <dsahern@gmail.com> > > The nexthop path in rt6_update_exception_stamp_rt needs to call > rcu_read_unlock if it fails to find a fib6_nh match rather than > just returning. > > Fixes: e659ba31d806 ("ipv6: Handle all fib6_nh in a nexthop in exception handling") > Signed-off-by: David Ahern <dsahern@gmail.com> Applied.
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index e49fec767a10..fd059e08785a 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -1951,7 +1951,7 @@ static void rt6_update_exception_stamp_rt(struct rt6_info *rt) nexthop_for_each_fib6_nh(from->nh, fib6_nh_find_match, &arg); if (!arg.match) - return; + goto unlock; fib6_nh = arg.match; } else { fib6_nh = from->fib6_nh;