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 !


Reply via email to