From 091311debcf02ff80a76d70b524eba4b2ffe66f1 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Tue, 24 Apr 2018 09:22:49 -0700 Subject: net/ipv6: fix LOCKDEP issue in rt6_remove_exception_rt() rt6_remove_exception_rt() is called under rcu_read_lock() only. We lock rt6_exception_lock a bit later, so we do not hold rt6_exception_lock yet. Fixes: 8a14e46f1402 ("net/ipv6: Fix missing rcu dereferences on from") Signed-off-by: Eric Dumazet Reported-by: syzbot Cc: David Ahern Acked-by: David Ahern Signed-off-by: David S. Miller --- net/ipv6/route.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'net/ipv6/route.c') diff --git a/net/ipv6/route.c b/net/ipv6/route.c index ac3e51631c65..432c4bcc1111 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -1546,8 +1546,7 @@ static int rt6_remove_exception_rt(struct rt6_info *rt) struct fib6_info *from; int err; - from = rcu_dereference_protected(rt->from, - lockdep_is_held(&rt6_exception_lock)); + from = rcu_dereference(rt->from); if (!from || !(rt->rt6i_flags & RTF_CACHE)) return -EINVAL; -- cgit v1.2.3