On Wed, 2016-10-19 at 23:35 -0700, Cong Wang wrote: > Baozeng reported this deadlock case:
... > + > +void ipv6_sock_mc_close(struct sock *sk) > +{ > + struct ipv6_pinfo *np = inet6_sk(sk); > + > + if (!rcu_access_pointer(np->ipv6_mc_list)) > + return; I wonder if rcu_dereference_protected(..., lockdep_sock_is_held(sk)) could be used instead, to get lockdep support ? > + rtnl_lock(); > + __ipv6_sock_mc_close(sk); > rtnl_unlock(); > } > Thanks !