[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20180323.134158.493019552934178147.davem@davemloft.net>
Date: Fri, 23 Mar 2018 13:41:58 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: edumazet@...gle.com
Cc: netdev@...r.kernel.org, eric.dumazet@...il.com, weiwan@...gle.com,
kafai@...com
Subject: Re: [PATCH net] ipv6: fix possible deadlock in
rt6_age_examine_exception()
From: Eric Dumazet <edumazet@...gle.com>
Date: Fri, 23 Mar 2018 07:56:58 -0700
> syzbot reported a LOCKDEP splat [1] in rt6_age_examine_exception()
>
> rt6_age_examine_exception() is called while rt6_exception_lock is held.
> This lock is the lower one in the lock hierarchy, thus we can not
> call dst_neigh_lookup() function, as it can fallback to neigh_create()
>
> We should instead do a pure RCU lookup. As a bonus we avoid
> a pair of atomic operations on neigh refcount.
>
> [1]
...
> Fixes: c757faa8bfa2 ("ipv6: prepare fib6_age() for exception table")
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Applied and queued up for -stable, thanks Eric.
Powered by blists - more mailing lists