Re: [PATCH net] ipv6: addrconf: Fix recursive spin lock call

2016-02-01 Thread subashab
> On Mon, 2016-02-01 at 11:37 -0800, Eric Dumazet wrote: > >> I would rather try : >> >> diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c >> index 38eeddedfc21..d6b7ab07f914 100644 >> --- a/net/ipv6/addrconf.c >> +++ b/net/ipv6/addrconf.c >> @@ -3538,6 +3538,7 @@ static void addrconf_dad_begi

Re: [PATCH net] ipv6: addrconf: Fix recursive spin lock call

2016-02-01 Thread Eric Dumazet
On Mon, 2016-02-01 at 11:37 -0800, Eric Dumazet wrote: > I would rather try : > > diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c > index 38eeddedfc21..d6b7ab07f914 100644 > --- a/net/ipv6/addrconf.c > +++ b/net/ipv6/addrconf.c > @@ -3538,6 +3538,7 @@ static void addrconf_dad_begin(struct

Re: [PATCH net] ipv6: addrconf: Fix recursive spin lock call

2016-02-01 Thread Eric Dumazet
On Mon, 2016-02-01 at 19:13 +, subas...@codeaurora.org wrote: > A rcu stall with the following backtrace was seen on a system with > forwarding, optimistic_dad and use_optimistic set. To reproduce, > set these flags and then start ipv6 autoconf. > > This occurs because the device write_lock is

[PATCH net] ipv6: addrconf: Fix recursive spin lock call

2016-02-01 Thread subashab
A rcu stall with the following backtrace was seen on a system with forwarding, optimistic_dad and use_optimistic set. To reproduce, set these flags and then start ipv6 autoconf. This occurs because the device write_lock is acquired while already holding the read_lock. Back trace below - INFO: rcu